[Red Hat JIRA] (ISPN-12435) SingleKeyBackupWriteCommands run out of memory
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-12435?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-12435:
--------------------------------
Security: (was: Red Hat Internal)
> SingleKeyBackupWriteCommands run out of memory
> ----------------------------------------------
>
> Key: ISPN-12435
> URL: https://issues.redhat.com/browse/ISPN-12435
> Project: Infinispan
> Issue Type: Bug
> Components: Cloud
> Affects Versions: 10.1.8.Final
> Reporter: mac peng
> Priority: Blocker
> Attachments: The fragile in TriangleOrderManager.png
>
>
> SingleKeyBackupWriteCommands run out of memory if sender does send out single SingleKeyBackupWriteCommand for some reason(Exception or deadlock during org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.sendToBackups
> {color:#FF0000} long sequence = triangleOrderManager.next(segmentId, topologyId);{color}
> //{color:#FF0000}Sequence is increased but the cmd has no chance to send out for there is exception/deadlock later.{color}
> BackupWriteCommand backupCommand = backupBuilder.build(commandsFactory, command, entry.getValue());
> backupCommand.setSequence(sequence);
> backupCommand.setSegmentId(segmentId);
> if (trace) {
> log.tracef("Command %s got sequence %s for segment %s", command.getCommandInvocationId(), segmentId,
> sequence);
> }
> {color:#FF0000}rpcManager.sendToMany(backups, backupCommand, DeliverOrder.NONE);{color}
> 16-Oct-2020 01:09:38.403 ERROR [org.infinispan.remoting.rpc.RpcManagerImpl.rethrowAsCacheException] (dp-27-thread-1) ISPN000073: Unexpected error while re
> plicating
> {color:#FF0000}java.lang.RuntimeException: What's happen if Externalizer has exception?{color}
> {color:#FF0000} at com.ericsson.container.sip.fsm.InviteSessionFsm$InviteSessionExternalizer.writeObject(InviteSessionFsm.java:397){color}
> at com.ericsson.container.sip.fsm.InviteSessionFsm$InviteSessionExternalizer.writeObject(InviteSessionFsm.java:385)
> at com.ericsson.sessiondataservices.serialization.AdvancedExternalizerBridge.writeObject(AdvancedExternalizerBridge.java:42)
> at org.infinispan.marshall.core.impl.ExternalExternalizers$ForeignAdvancedExternalizer.writeObject(ExternalExternalizers.java:86)
> at org.infinispan.marshall.core.GlobalMarshaller.writeExternal(GlobalMarshaller.java:670)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:375)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352)
> at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
> at com.ericsson.ssa.sip.UA$UAExternalizer.writeObject(UA.java:930)
> at com.ericsson.ssa.sip.UA$UAExternalizer.writeObject(UA.java:919)
> at com.ericsson.sessiondataservices.serialization.AdvancedExternalizerBridge.writeObject(AdvancedExternalizerBridge.java:42)
> at org.infinispan.marshall.core.impl.ExternalExternalizers$ForeignAdvancedExternalizer.writeObject(ExternalExternalizers.java:86)
> at org.infinispan.marshall.core.GlobalMarshaller.writeExternal(GlobalMarshaller.java:670)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:375)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352)
> at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
> at com.ericsson.container.sip.session.dialog.DialogFragmentData$DialogFragmentDataExternalizer.writeObject(DialogFragmentData.java:780)
> at com.ericsson.container.sip.session.dialog.DialogFragmentData$DialogFragmentDataExternalizer.writeObject(DialogFragmentData.java:761)
> at com.ericsson.sessiondataservices.serialization.AdvancedExternalizerBridge.writeObject(AdvancedExternalizerBridge.java:42)
> at org.infinispan.marshall.core.impl.ExternalExternalizers$ForeignAdvancedExternalizer.writeObject(ExternalExternalizers.java:86)
> at org.infinispan.marshall.core.GlobalMarshaller.writeExternal(GlobalMarshaller.java:670)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:375)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352)
> at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
> at com.ericsson.container.sip.session.dialog.DialogFragmentData$DialogFragmentDataExternalizer.writeObject(DialogFragmentData.java:780)
> at com.ericsson.container.sip.session.dialog.DialogFragmentData$DialogFragmentDataExternalizer.writeObject(DialogFragmentData.java:761)
> at com.ericsson.sessiondataservices.serialization.AdvancedExternalizerBridge.writeObject(AdvancedExternalizerBridge.java:42)
> at org.infinispan.marshall.core.impl.ExternalExternalizers$ForeignAdvancedExternalizer.writeObject(ExternalExternalizers.java:86)
> at org.infinispan.marshall.core.GlobalMarshaller.writeExternal(GlobalMarshaller.java:670)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:375)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352)
> at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
> at org.infinispan.commands.triangle.SingleKeyBackupWriteCommand.writeTo(SingleKeyBackupWriteCommand.java:108)
> at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:70)
> at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:122)
> at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:118)
> at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:69)
> at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:656)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:371)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352)
> at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:181)
> at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:174)
> at org.infinispan.marshall.core.GlobalMarshaller.objectToBuffer(GlobalMarshaller.java:302)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.marshallRequest(JGroupsTransport.java:1075)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendCommand(JGroupsTransport.java:1272)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendToMany(JGroupsTransport.java:277)
> at org.infinispan.remoting.rpc.RpcManagerImpl.sendToMany(RpcManagerImpl.java:396)
> {color:#FF0000}at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.sendToBackups(TriangleDistributionInterceptor.java:490){color}
> at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.lambda$localPrimaryOwnerWrite$4(TriangleDistributionInterceptor.java:446)
> The receiver won't handle the subsquent SingleKeyBackupWriteCommands for current SingleKeyBackupWriteCommand is missing. Then the subsquent SingleKeyBackupWriteCommands will be putted into blockedTasks.offer(runnable); by BlockingTaskAwareExecutorServiceImpl instead of execute it.
>
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
3 years, 10 months
[Red Hat JIRA] (ISPN-12751) InfinispanEmbeddedSessionRepository.findByIndexNameAndIndexValue() fails in distributed cache
by Katia Aresti (Jira)
[ https://issues.redhat.com/browse/ISPN-12751?page=com.atlassian.jira.plugi... ]
Katia Aresti updated ISPN-12751:
--------------------------------
Resolution: Done
Status: Resolved (was: Pull Request Sent)
> InfinispanEmbeddedSessionRepository.findByIndexNameAndIndexValue() fails in distributed cache
> ---------------------------------------------------------------------------------------------
>
> Key: ISPN-12751
> URL: https://issues.redhat.com/browse/ISPN-12751
> Project: Infinispan
> Issue Type: Bug
> Components: Spring Integration
> Affects Versions: 9.4.21.Final, 11.0.9.Final, 12.0.1.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 12.1.0.Final
>
>
> {{InfinispanEmbeddedSessionRepository.findByIndexNameAndIndexValue()}} uses cache streams, but it uses them through the {{BasicCache}} interface instead of the {{Cache}} interface. This means the stream type is {{Stream}}, not {{CacheStream}}, and method overloads with serializable lambda parameters are not available.
> Thus {{stream.collect(Collectors.toMap(MapSession::getId, Function.identity()))}} will make the collector non-serializable, and it will only work in local/replicated caches.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
3 years, 10 months
[Red Hat JIRA] (ISPN-12739) Spring Session Repository should create a copy of the MapSession for each request
by Katia Aresti (Jira)
[ https://issues.redhat.com/browse/ISPN-12739?page=com.atlassian.jira.plugi... ]
Katia Aresti updated ISPN-12739:
--------------------------------
Resolution: Done
Status: Resolved (was: Pull Request Sent)
> Spring Session Repository should create a copy of the MapSession for each request
> ---------------------------------------------------------------------------------
>
> Key: ISPN-12739
> URL: https://issues.redhat.com/browse/ISPN-12739
> Project: Infinispan
> Issue Type: Bug
> Components: Spring Integration
> Affects Versions: 9.4.21.Final, 11.0.9.Final, 12.0.1.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 12.1.0.Final
>
>
> {{MapSession}} uses a {{HashMap}} internally, but it does not have any synchronization. This means it is not safe for multiple requests to access the same {{MapSession}} object at the same time.
> In particular, when fetching a session from the repository, {{AbstractInfinispanSessionRepository.getSession()}} wants to update the TTL of the session, which requires updating the session in the cache. If another thread is modifying the session at the same time, the {{MapSession}} serialization fails with a {{ConcurrentModificationException}}.
> {noformat}
> 04:46:25.758 ERROR o.i.r.r.RpcManagerImpl - ISPN000073: Unexpected error while replicating
> java.util.ConcurrentModificationException: null
> at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1493)
> at java.base/java.util.HashMap$EntryIterator.next(HashMap.java:1526)
> at java.base/java.util.HashMap$EntryIterator.next(HashMap.java:1524)
> at org.infinispan.commons.marshall.MarshallUtil.marshallMap(MarshallUtil.java:52)
> at org.infinispan.marshall.exts.MapExternalizer.writeObject(MapExternalizer.java:63)
> at org.infinispan.marshall.exts.MapExternalizer.writeObject(MapExternalizer.java:31)
> at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:638)
> at org.infinispan.marshall.core.GlobalMarshaller.writeInternalClean(GlobalMarshaller.java:643)
> at org.infinispan.marshall.core.GlobalMarshaller.lambda$findWriter$0(GlobalMarshaller.java:369)
> at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:137)
> at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1082)
> at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1040)
> at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:920)
> at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58)
> at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:111)
> at org.infinispan.marshall.core.ExternalJBossMarshaller.objectToObjectStream(ExternalJBossMarshaller.java:36)
> at org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:617)
> at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:612)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:412)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:355)
> at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
> at org.infinispan.commands.triangle.SingleKeyBackupWriteCommand.writeTo(SingleKeyBackupWriteCommand.java:125)
> at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:71)
> at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:118)
> at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:114)
> at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:65)
> at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:638)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:402)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:355)
> at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:183)
> at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:176)
> at org.infinispan.marshall.core.GlobalMarshaller.objectToBuffer(GlobalMarshaller.java:305)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.marshallRequest(JGroupsTransport.java:1031)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendCommand(JGroupsTransport.java:1217)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendToMany(JGroupsTransport.java:276)
> at org.infinispan.remoting.rpc.RpcManagerImpl.sendToMany(RpcManagerImpl.java:390)
> at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.sendToBackups(TriangleDistributionInterceptor.java:490)
> at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.lambda$localPrimaryOwnerWrite$4(TriangleDistributionInterceptor.java:443)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenApply(BaseAsyncInterceptor.java:82)
> at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.localPrimaryOwnerWrite(TriangleDistributionInterceptor.java:422)
> at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.handleSingleKeyWriteCommand(TriangleDistributionInterceptor.java:392)
> at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.visitPutKeyValueCommand(TriangleDistributionInterceptor.java:113)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:73)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:55)
> at org.infinispan.interceptors.BaseAsyncInterceptor.lambda$new$0(BaseAsyncInterceptor.java:23)
> at org.infinispan.interceptors.InvocationSuccessFunction.apply(InvocationSuccessFunction.java:25)
> at org.infinispan.interceptors.impl.SimpleAsyncInvocationStage.addCallback(SimpleAsyncInvocationStage.java:70)
> at org.infinispan.interceptors.InvocationStage.thenApply(InvocationStage.java:45)
> at org.infinispan.interceptors.BaseAsyncInterceptor.asyncInvokeNext(BaseAsyncInterceptor.java:225)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:734)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:337)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:73)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndFinally(BaseAsyncInterceptor.java:151)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.lambda$nonTxLockAndInvokeNext$1(AbstractLockingInterceptor.java:297)
> at org.infinispan.interceptors.SyncInvocationStage.addCallback(SyncInvocationStage.java:42)
> at org.infinispan.interceptors.InvocationStage.andHandle(InvocationStage.java:65)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.nonTxLockAndInvokeNext(AbstractLockingInterceptor.java:292)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:128)
> at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:40)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:82)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:73)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:184)
> at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:309)
> at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:252)
> at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:96)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:73)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndFinally(BaseAsyncInterceptor.java:151)
> at org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:220)
> at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:182)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:73)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:55)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:60)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:73)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:124)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:57)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:60)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:73)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:50)
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:248)
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1915)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1430)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:2040)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1415)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:235)
> at org.infinispan.cache.impl.AbstractDelegatingCache.put(AbstractDelegatingCache.java:116)
> at org.infinispan.cache.impl.EncoderCache.put(EncoderCache.java:195)
> at org.infinispan.spring.common.provider.SpringCache.put(SpringCache.java:159)
> at org.infinispan.spring.common.session.AbstractInfinispanSessionRepository.updateTTL(AbstractInfinispanSessionRepository.java:112)
> at org.infinispan.spring.common.session.AbstractInfinispanSessionRepository.lambda$getSession$1(AbstractInfinispanSessionRepository.java:105)
> at java.base/java.util.Optional.map(Optional.java:265)
> at org.infinispan.spring.common.session.AbstractInfinispanSessionRepository.getSession(AbstractInfinispanSessionRepository.java:105)
> at org.infinispan.spring.common.session.AbstractInfinispanSessionRepository.findById(AbstractInfinispanSessionRepository.java:79)
> at org.infinispan.spring.common.session.AbstractInfinispanSessionRepository.findById(AbstractInfinispanSessionRepository.java:32)
> at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getRequestedSession(SessionRepositoryFilter.java:351)
> at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getSession(SessionRepositoryFilter.java:289)
> at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getSession(SessionRepositoryFilter.java:192)
> at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:244)
> {noformat}
> The serialization error then leads to ISPN-12435, because the {{AckCollector}} created by {{TriangleDistributionInterceptor}} is not released.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
3 years, 10 months
[Red Hat JIRA] (ISPN-12756) Improve PartitionHandlingManagerImpl logging
by Pedro Ruivo (Jira)
Pedro Ruivo created ISPN-12756:
----------------------------------
Summary: Improve PartitionHandlingManagerImpl logging
Key: ISPN-12756
URL: https://issues.redhat.com/browse/ISPN-12756
Project: Infinispan
Issue Type: Enhancement
Reporter: Pedro Ruivo
Assignee: Pedro Ruivo
Log the "pending transaction" as debug instead of trace. The list should be small and only happens when a stable topology is installed
Log the exceptions as warnings.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
3 years, 10 months
[Red Hat JIRA] (ISPN-12755) SoftIndexFileStore should support new NonBlockingStore SPI
by Will Burns (Jira)
[ https://issues.redhat.com/browse/ISPN-12755?page=com.atlassian.jira.plugi... ]
Will Burns updated ISPN-12755:
------------------------------
Status: Open (was: New)
> SoftIndexFileStore should support new NonBlockingStore SPI
> ----------------------------------------------------------
>
> Key: ISPN-12755
> URL: https://issues.redhat.com/browse/ISPN-12755
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Reporter: Will Burns
> Priority: Major
> Fix For: 13.0.0.Final
>
>
> The SoftIndexStore still implements the old store SPI. We should convert this to the new SPI.
> We should also evaluate to add some sort of segmentation support. As it stands currently, SIFS when segmented will create at least N * number of segments file descriptors and this could be 2 or 3 times that possible. Also the number of threads required is N * 6 as each store spawns a handful of threads.
> Another issue is that now that we have PMEM support, we should really not offload to another thread as it is currently. It would be nice but not required (maybe another JIRA) to change how writes are done to do it in the invoking thread and do queuing for concurrent writes up to a limit of writes.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
3 years, 10 months
[Red Hat JIRA] (ISPN-12755) SoftIndexFileStore should support new NonBlockingStore SPI
by Will Burns (Jira)
[ https://issues.redhat.com/browse/ISPN-12755?page=com.atlassian.jira.plugi... ]
Work on ISPN-12755 started by Will Burns.
-----------------------------------------
> SoftIndexFileStore should support new NonBlockingStore SPI
> ----------------------------------------------------------
>
> Key: ISPN-12755
> URL: https://issues.redhat.com/browse/ISPN-12755
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Reporter: Will Burns
> Assignee: Will Burns
> Priority: Major
> Fix For: 13.0.0.Final
>
>
> The SoftIndexStore still implements the old store SPI. We should convert this to the new SPI.
> We should also evaluate to add some sort of segmentation support. As it stands currently, SIFS when segmented will create at least N * number of segments file descriptors and this could be 2 or 3 times that possible. Also the number of threads required is N * 6 as each store spawns a handful of threads.
> Another issue is that now that we have PMEM support, we should really not offload to another thread as it is currently. It would be nice but not required (maybe another JIRA) to change how writes are done to do it in the invoking thread and do queuing for concurrent writes up to a limit of writes.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
3 years, 10 months
[Red Hat JIRA] (ISPN-12755) SoftIndexFileStore should support new NonBlockingStore SPI
by Will Burns (Jira)
Will Burns created ISPN-12755:
---------------------------------
Summary: SoftIndexFileStore should support new NonBlockingStore SPI
Key: ISPN-12755
URL: https://issues.redhat.com/browse/ISPN-12755
Project: Infinispan
Issue Type: Enhancement
Components: Loaders and Stores
Reporter: Will Burns
Fix For: 13.0.0.Final
The SoftIndexStore still implements the old store SPI. We should convert this to the new SPI.
We should also evaluate to add some sort of segmentation support. As it stands currently, SIFS when segmented will create at least N * number of segments file descriptors and this could be 2 or 3 times that possible. Also the number of threads required is N * 6 as each store spawns a handful of threads.
Another issue is that now that we have PMEM support, we should really not offload to another thread as it is currently. It would be nice but not required (maybe another JIRA) to change how writes are done to do it in the invoking thread and do queuing for concurrent writes up to a limit of writes.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
3 years, 10 months