Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-13177

ManagedExecutorService: Wrong activeRequestCount at RequestController on RejectedExecutionException

XMLWordPrintable

    • Hide
      • Configure a ManagedExecutorService with a limited pool and queuesize
      • Let an application fill out the pool and queue with threads -> see the number of active requests stated by the RequestController is as expected
      • Submit/Execute one more thread to get a RejectedExecutionException as expected -> see the number of active request is erroneously incremented by each of such event.
      Show
      Configure a ManagedExecutorService with a limited pool and queuesize Let an application fill out the pool and queue with threads -> see the number of active requests stated by the RequestController is as expected Submit/Execute one more thread to get a RejectedExecutionException as expected -> see the number of active request is erroneously incremented by each of such event.

      On WF-13 and WF-16 we observe a serious bug of the RequestCount of the RequestController while using ManagedExecutorService.submit() or ...execute() in the edge case of a full queue. In this case, the caller gets a RejectedExecutionException, but in the RequestController, the number of active requests is erroneously incremented.

      This will lead to a false and monotonously increasing number of active requests. And in case of a limitation configured by the maxRequestCount feature, which is best practice for production environments, over the time this will lead to deadlock of the RequestController and herewith the complete activity of the Wildfly at all.

              istudens@redhat.com Ivo Studensky
              gjaekel Guido Jäkel (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: