[JBoss JIRA] (ISPN-10300) StateConsumerImpl needs to wait for segment addition to complete for stores
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-10300?page=com.atlassian.jira.plugin... ]
Tristan Tarrant updated ISPN-10300:
-----------------------------------
Sprint: ISPN+RHDG Sprint #29
> StateConsumerImpl needs to wait for segment addition to complete for stores
> ---------------------------------------------------------------------------
>
> Key: ISPN-10300
> URL: https://issues.jboss.org/browse/ISPN-10300
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores, State Transfer
> Reporter: Will Burns
> Assignee: Will Burns
> Priority: Major
> Fix For: 10.0.0.Beta4
>
>
> With ISPN-9722, the store operation addSegments became non blocking. Unfortunately due to the fact that it now returns a value was missed in the original PR. Thus adding segments may not be complete but state transfer thought it was. This can cause segmented stores to not have segments configured properly.
> This also causes test failures where it leaks a thread after shutting down.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10290) JGroupsTransport.invokeCommandStaggered allocates too much
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-10290?page=com.atlassian.jira.plugin... ]
Tristan Tarrant updated ISPN-10290:
-----------------------------------
Sprint: ISPN+RHDG Sprint #29
> JGroupsTransport.invokeCommandStaggered allocates too much
> ----------------------------------------------------------
>
> Key: ISPN-10290
> URL: https://issues.jboss.org/browse/ISPN-10290
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 10.0.0.Beta3, 9.4.14.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Minor
> Fix For: 10.0.0.Beta4
>
>
> I assumed the {{logRequest(requestId, command, "staggered " + targets)}} call would be inlined and the JIT would eliminate the allocation when trace logging is disabled, but apparently that doesn't always happen, and a {{StringBuilder}} instance is always created.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10289) SingleTargetRequest may invoke the response collector twice for same view
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-10289?page=com.atlassian.jira.plugin... ]
Tristan Tarrant updated ISPN-10289:
-----------------------------------
Sprint: ISPN+RHDG Sprint #29
> SingleTargetRequest may invoke the response collector twice for same view
> -------------------------------------------------------------------------
>
> Key: ISPN-10289
> URL: https://issues.jboss.org/browse/ISPN-10289
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Test Suite - Core
> Affects Versions: 10.0.0.Beta3, 9.4.14.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Labels: testsuite_stability
> Fix For: 10.0.0.Beta4
>
>
> {{SingleTargetRequest.onNewView()}} is sometimes invoked twice:
> * From {{JGroupsTransport.invokeCommand()}}, in the thread that is sending the request
> * From {{JGroupsTransport.receiveClusterView()}}, in the thread processing the view change
> Because of insufficient synchronization, both {{onNewView()}} invocations may trigger a call to {{ResponseCollector.addResponse()}}, and the collector may not deal with the extra call properly.
> For example, the bridge response collectors used by {{ControlledRpcManager}} do not allow duplicate responses for the same target, and this causes random failures in {{GetAllCommandNodeCrashTest}}:
> {noformat}
> 12:44:56.270 [ERROR] commands.GetAllCommandNodeCrashTest(org.infinispan.commands.GetAllCommandNodeCrashTest) Time elapsed: 0.144 s <<< FAILURE!
> java.lang.AssertionError:
> at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
> at org.testng.AssertJUnit.assertTrue(AssertJUnit.java:24)
> at org.testng.AssertJUnit.assertFalse(AssertJUnit.java:41)
> at org.testng.AssertJUnit.assertFalse(AssertJUnit.java:49)
> at org.infinispan.util.ControlledRpcManager$BlockedResponseMap.receive(ControlledRpcManager.java:701)
> at org.infinispan.util.ControlledRpcManager$SentRequest.receiveAll(ControlledRpcManager.java:601)
> at org.infinispan.commands.GetAllCommandNodeCrashTest.test(GetAllCommandNodeCrashTest.java:66)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10305) EmbeddedAllTest doesn't clean up its files
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-10305?page=com.atlassian.jira.plugin... ]
Tristan Tarrant updated ISPN-10305:
-----------------------------------
Sprint: ISPN+RHDG Sprint #29
> EmbeddedAllTest doesn't clean up its files
> ------------------------------------------
>
> Key: ISPN-10305
> URL: https://issues.jboss.org/browse/ISPN-10305
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Affects Versions: 10.0.0.Beta3, 9.4.14.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Labels: testsuite_stability
> Fix For: 10.0.0.Beta4, 9.4.16.Final
>
>
> Because the store files are not deleted before/after the test, running the test suite on 2 different branch will cause random failures:
> {noformat}
> org.infinispan.persistence.spi.PersistenceException: java.lang.NullPointerException
> at org.infinispan.persistence.rocksdb.RocksDBStore$RocksDBHandler.load(RocksDBStore.java:613)
> at org.infinispan.persistence.rocksdb.RocksDBStore.load(RocksDBStore.java:289)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.loadFromAllStores(PersistenceManagerImpl.java:646)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndCheckExpiration(PersistenceUtil.java:139)
> at org.infinispan.persistence.internal.PersistenceUtil.lambda$loadAndComputeInDataContainer$0(PersistenceUtil.java:97)
> at org.infinispan.container.impl.AbstractInternalDataContainer.lambda$compute$3(AbstractInternalDataContainer.java:230)
> at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908)
> at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:229)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndComputeInDataContainer(PersistenceUtil.java:119)
> ...
> at org.infinispan.all.embedded.EmbeddedAllTest.testDataSurvived(EmbeddedAllTest.java:206)
> at org.infinispan.all.embedded.EmbeddedAllTest.testAllEmbeddedRocksDbStore(EmbeddedAllTest.java:175)
> Caused by: java.lang.NullPointerException
> at org.infinispan.marshall.core.GlobalMarshaller.readWithExternalizer(GlobalMarshaller.java:708)
> at org.infinispan.marshall.core.GlobalMarshaller.readNonNullableObject(GlobalMarshaller.java:691)
> at org.infinispan.marshall.core.GlobalMarshaller.readNullableObject(GlobalMarshaller.java:361)
> at org.infinispan.marshall.core.GlobalMarshaller.objectFromObjectInput(GlobalMarshaller.java:194)
> at org.infinispan.marshall.core.GlobalMarshaller.objectFromByteBuffer(GlobalMarshaller.java:190)
> at org.infinispan.persistence.rocksdb.RocksDBStore.unmarshall(RocksDBStore.java:416)
> at org.infinispan.persistence.rocksdb.RocksDBStore.access$400(RocksDBStore.java:61)
> at org.infinispan.persistence.rocksdb.RocksDBStore$RocksDBHandler.load(RocksDBStore.java:604)
> ... 83 more
> org.infinispan.commons.CacheException: java.lang.ClassCastException: class org.infinispan.metadata.EmbeddedMetadata cannot be cast to class org.infinispan.metadata.InternalMetadata (org.infinispan.metadata.EmbeddedMetadata and org.infinispan.metadata.InternalMetadata are in unnamed module of loader 'app')
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.rethrowException(InvocationContextInterceptor.java:134)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.lambda$new$0(InvocationContextInterceptor.java:62)
> at org.infinispan.interceptors.InvocationExceptionFunction.apply(InvocationExceptionFunction.java:25)
> at org.infinispan.interceptors.impl.SimpleAsyncInvocationStage.addCallback(SimpleAsyncInvocationStage.java:70)
> at org.infinispan.interceptors.InvocationStage.andExceptionally(InvocationStage.java:55)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:248)
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1918)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1433)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:2043)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:230)
> at org.infinispan.cache.impl.AbstractDelegatingCache.put(AbstractDelegatingCache.java:448)
> at org.infinispan.cache.impl.EncoderCache.put(EncoderCache.java:675)
> at org.infinispan.all.embedded.EmbeddedAllTest.testDataSurvived(EmbeddedAllTest.java:206)
> at org.infinispan.all.embedded.EmbeddedAllTest.testAllEmbeddedFileStore(EmbeddedAllTest.java:136)
> Caused by: java.lang.ClassCastException: class org.infinispan.metadata.EmbeddedMetadata cannot be cast to class org.infinispan.metadata.InternalMetadata (org.infinispan.metadata.EmbeddedMetadata and org.infinispan.metadata.InternalMetadata are in unnamed module of loader 'app')
> at org.infinispan.marshall.core.MarshalledEntryImpl.getMetadata(MarshalledEntryImpl.java:91)
> at org.infinispan.persistence.internal.PersistenceUtil.convert(PersistenceUtil.java:150)
> at org.infinispan.persistence.internal.PersistenceUtil.lambda$loadAndComputeInDataContainer$0(PersistenceUtil.java:102)
> at org.infinispan.container.impl.AbstractInternalDataContainer.lambda$compute$3(AbstractInternalDataContainer.java:230)
> at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908)
> at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:229)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndComputeInDataContainer(PersistenceUtil.java:119)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndStoreInDataContainer(PersistenceUtil.java:53)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-9614) Convert listeners to work with async interceptor stack
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-9614?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-9614:
----------------------------------
Sprint: ISPN+RHDG Sprint #29
> Convert listeners to work with async interceptor stack
> ------------------------------------------------------
>
> Key: ISPN-9614
> URL: https://issues.jboss.org/browse/ISPN-9614
> Project: Infinispan
> Issue Type: Enhancement
> Components: Listeners
> Reporter: Will Burns
> Assignee: Will Burns
> Priority: Major
> Fix For: 10.0.0.Final
>
>
> Currently a sync listener will block the thread that is notifying it. It should return a _CompletableFuture_ to integrate properly with the async stack to be notified upon completion.
> Also we should not invoke "alien" listeners on the same thread as they could block. We should allow listener to make itself async in some manner (ie. return type is CompletableFuture<Void>).
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-7606) DistributedExecutorMassIndexer.executeInternal should use an existing pool
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-7606?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7606:
----------------------------------
Sprint: ISPN+RHDG Sprint #29
> DistributedExecutorMassIndexer.executeInternal should use an existing pool
> --------------------------------------------------------------------------
>
> Key: ISPN-7606
> URL: https://issues.jboss.org/browse/ISPN-7606
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying
> Affects Versions: 9.0.0.CR2
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 10.0.0.Final
>
>
> {{DistributedExecutorMassIndexer.executeInternal}} creates 2 executors:
> 1. {{new DefaultExecutorService(cache)}} implicitly creates a single-threaded executor to run tasks on the local node.
> 2. {{compositeFuture.whenCompleteAsync(consumer, Executors.newSingleThreadExecutor())}} explicitly creates a new single-threaded executor to run the consumer on.
> Neither of these executors are shut down, and rather than complicating the code to stop them properly it would be better to use an existing executor.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10247) tck-runner module discards server console output
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-10247?page=com.atlassian.jira.plugin... ]
Tristan Tarrant updated ISPN-10247:
-----------------------------------
Sprint: ISPN+RHDG Sprint #29
> tck-runner module discards server console output
> ------------------------------------------------
>
> Key: ISPN-10247
> URL: https://issues.jboss.org/browse/ISPN-10247
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Server
> Affects Versions: 10.0.0.Beta3, 9.4.14.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 10.0.0.Beta4
>
>
> Sometimes the server is unable to write to server.log, so the build should also keep the server console output.
> Currently the console output is ignored, because {{infinispan-server.xml}} uses {{<exec spawn="true"}} and doesn't redirect the output to a file.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months