[infinispan-issues] [JBoss JIRA] (ISPN-10915) CompletionStages.continueOnExecutor() does not complete the future on rejection
Dan Berindei (Jira)
issues at jboss.org
Fri Nov 15 12:02:02 EST 2019
[ https://issues.jboss.org/browse/ISPN-10915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13813829#comment-13813829 ]
Dan Berindei commented on ISPN-10915:
-------------------------------------
Adding the stack trace so it's easier to find in the future
{noformat}
"jgroups-8,ManualIndexingTest-NodeA-39509" #4798 prio=5 os_prio=0 cpu=5.68ms elapsed=302.98s tid=0x00007fd1d89e9000 nid=0x5bdc waiting on condition [0x00007fd1531f4000]
java.lang.Thread.State: TIMED_WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base at 11.0.3/Native Method)
- parking to wait for <0x00000000c160eeb0> (a java.util.concurrent.CompletableFuture$Signaller)
at java.util.concurrent.locks.LockSupport.parkNanos(java.base at 11.0.3/LockSupport.java:234)
at java.util.concurrent.CompletableFuture$Signaller.block(java.base at 11.0.3/CompletableFuture.java:1798)
at java.util.concurrent.ForkJoinPool.managedBlock(java.base at 11.0.3/ForkJoinPool.java:3128)
at java.util.concurrent.CompletableFuture.timedGet(java.base at 11.0.3/CompletableFuture.java:1868)
at java.util.concurrent.CompletableFuture.get(java.base at 11.0.3/CompletableFuture.java:2021)
at org.infinispan.util.concurrent.CompletableFutures.await(CompletableFutures.java:140)
at org.infinispan.util.concurrent.CompletionStages.join(CompletionStages.java:73)
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.receiveClusterView(JGroupsTransport.java:722)
at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1448)
{noformat}
> CompletionStages.continueOnExecutor() does not complete the future on rejection
> -------------------------------------------------------------------------------
>
> Key: ISPN-10915
> URL: https://issues.jboss.org/browse/ISPN-10915
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.4.16.Final, 10.0.1.Final
> Reporter: Dan Berindei
> Assignee: Will Burns
> Priority: Major
> Fix For: 10.1.0.Beta1
>
>
> {{CompletionStages.continueOnExecutor()}} returns a {{CompletableFuture}} that is supposed to complete after the supplied action has run on the supplied executor. If the executor rejects the action, e.g. because it was stopped, the {{CompletableFuture}} never completes.
> E.g. {{JGroupsTransport.receiveClusterView()}} indirectly uses {{CompletionStages.continueOnExecutor()}}, and it blocks view handling forever if a view is received after the async operations executor has been shut down. In turn this blocks all further view processing and the cache manager shutdown.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the infinispan-issues
mailing list