[JBoss JIRA] (ISPN-11731) Add blockhound to query module
by Will Burns (Jira)
Will Burns created ISPN-11731:
---------------------------------
Summary: Add blockhound to query module
Key: ISPN-11731
URL: https://issues.redhat.com/browse/ISPN-11731
Project: Infinispan
Issue Type: Enhancement
Reporter: Will Burns
Assignee: Will Burns
Fix For: 11.0.0.Dev05
We need to make sure that various parts of the query module do not run blocking code in non blocking threads. We should add blockhound and make sure to fix all violations by running on the blocking thread or appropriately.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 11 months
[JBoss JIRA] (ISPN-11524) PersistenceManagerImpl locks should be able to block
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-11524?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-11524:
--------------------------------
Status: Open (was: New)
> PersistenceManagerImpl locks should be able to block
> ----------------------------------------------------
>
> Key: ISPN-11524
> URL: https://issues.redhat.com/browse/ISPN-11524
> Project: Infinispan
> Issue Type: Sub-task
> Reporter: Will Burns
> Priority: Major
> Fix For: 11.0.0.Dev05
>
>
> Here is an example stack trace acquired
> {code}
> java.lang.AssertionError: Blocking call! jdk.internal.misc.Unsafe#park on thread Thread[non-blocking-thread-SharedStoreTest-NodeB-p19754-t5,5,main]
> at org.infinispan.util.CoreTestBlockHoundIntegration.lambda$applyTo$0(CoreTestBlockHoundIntegration.java:43)
> at reactor.blockhound.BlockHound$Builder.lambda$install$6(BlockHound.java:318)
> at reactor.blockhound.BlockHoundRuntime.checkBlocking(BlockHoundRuntime.java:46)
> at java.base/jdk.internal.misc.Unsafe.park(Unsafe.java)
> at java.base/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
> at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
> at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:1009)
> at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1324)
> at java.base/java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:738)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.getFirstSegmentedStore(PersistenceManagerImpl.java:665)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.publishEntries(PersistenceManagerImpl.java:704)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.publishEntries(PersistenceManagerImpl.java:121)
> at org.infinispan.statetransfer.StateProviderImpl.publishStoreEntries(StateProviderImpl.java:307)
> at org.infinispan.scattered.impl.ScatteredStateProviderImpl.replicateAndInvalidate(ScatteredStateProviderImpl.java:94)
> at org.infinispan.scattered.impl.ScatteredStateProviderImpl.onTopologyUpdate(ScatteredStateProviderImpl.java:53)
> at org.infinispan.statetransfer.StateTransferManagerImpl.updateProviderAndConsumer(StateTransferManagerImpl.java:202)
> at org.infinispan.statetransfer.StateTransferManagerImpl.lambda$doTopologyUpdate$0(StateTransferManagerImpl.java:188)
> at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
> at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
> at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:143)
> at org.infinispan.statetransfer.StateTransferManagerImpl.doTopologyUpdate(StateTransferManagerImpl.java:187)
> at org.infinispan.statetransfer.StateTransferManagerImpl.access$000(StateTransferManagerImpl.java:66)
> at org.infinispan.statetransfer.StateTransferManagerImpl$1.rebalance(StateTransferManagerImpl.java:124)
> at org.infinispan.topology.LocalTopologyManagerImpl.lambda$doHandleRebalance$19(LocalTopologyManagerImpl.java:578)
> at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
> at java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
> at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:840)
> at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 11 months
[JBoss JIRA] (ISPN-11524) PersistenceManagerImpl locks should be able to block
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-11524?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-11524:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/8119
> PersistenceManagerImpl locks should be able to block
> ----------------------------------------------------
>
> Key: ISPN-11524
> URL: https://issues.redhat.com/browse/ISPN-11524
> Project: Infinispan
> Issue Type: Sub-task
> Reporter: Will Burns
> Priority: Major
> Fix For: 11.0.0.Dev05
>
>
> Here is an example stack trace acquired
> {code}
> java.lang.AssertionError: Blocking call! jdk.internal.misc.Unsafe#park on thread Thread[non-blocking-thread-SharedStoreTest-NodeB-p19754-t5,5,main]
> at org.infinispan.util.CoreTestBlockHoundIntegration.lambda$applyTo$0(CoreTestBlockHoundIntegration.java:43)
> at reactor.blockhound.BlockHound$Builder.lambda$install$6(BlockHound.java:318)
> at reactor.blockhound.BlockHoundRuntime.checkBlocking(BlockHoundRuntime.java:46)
> at java.base/jdk.internal.misc.Unsafe.park(Unsafe.java)
> at java.base/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
> at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
> at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:1009)
> at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1324)
> at java.base/java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:738)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.getFirstSegmentedStore(PersistenceManagerImpl.java:665)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.publishEntries(PersistenceManagerImpl.java:704)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.publishEntries(PersistenceManagerImpl.java:121)
> at org.infinispan.statetransfer.StateProviderImpl.publishStoreEntries(StateProviderImpl.java:307)
> at org.infinispan.scattered.impl.ScatteredStateProviderImpl.replicateAndInvalidate(ScatteredStateProviderImpl.java:94)
> at org.infinispan.scattered.impl.ScatteredStateProviderImpl.onTopologyUpdate(ScatteredStateProviderImpl.java:53)
> at org.infinispan.statetransfer.StateTransferManagerImpl.updateProviderAndConsumer(StateTransferManagerImpl.java:202)
> at org.infinispan.statetransfer.StateTransferManagerImpl.lambda$doTopologyUpdate$0(StateTransferManagerImpl.java:188)
> at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
> at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
> at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:143)
> at org.infinispan.statetransfer.StateTransferManagerImpl.doTopologyUpdate(StateTransferManagerImpl.java:187)
> at org.infinispan.statetransfer.StateTransferManagerImpl.access$000(StateTransferManagerImpl.java:66)
> at org.infinispan.statetransfer.StateTransferManagerImpl$1.rebalance(StateTransferManagerImpl.java:124)
> at org.infinispan.topology.LocalTopologyManagerImpl.lambda$doHandleRebalance$19(LocalTopologyManagerImpl.java:578)
> at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
> at java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
> at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:840)
> at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 11 months