Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-10915

CompletionStages.continueOnExecutor() does not complete the future on rejection

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 10.1.0.Beta1
    • 9.4.16.Final, 10.0.1.Final
    • Core
    • None

    Description

      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.

      Attachments

        Activity

          People

            wburns@redhat.com Will Burns
            dberinde@redhat.com Dan Berindei (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: