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

Reduce default non-blocking thread pool size

    XMLWordPrintable

Details

    • Task
    • Status: Pull Request Sent (View Workflow)
    • Major
    • Resolution: Unresolved
    • 13.0.0.Final
    • None
    • Core
    • None

    Description

      The default number of non-blocking threads is available processors * 2, which is too large considering that the tasks running on non-blocking threads are supposed to be CPU-bound. We could use available processors + 1 to avoid special cases when running on 1 vCPU.

      The test suite already uses only 6 blocking and 6 non-blocking threads (TestCacheManagerFactory.NAMED_EXECUTORS_THREADS_WITH_QUEUE), but it doesn't set the number of available processors. Code that spawns both blocking and non-blocking tasks based on the number of available processors may fill both thread pools, making BlockingRejectedExecutionHandler throw a CacheBackpressureFullException. We should set -Dinfinispan.activeprocessorcount=4 in pom.xml in order to match the thread pool sizes.

      Attachments

        Issue Links

          Activity

            People

              dberinde@redhat.com Dan Berindei
              dberinde@redhat.com Dan Berindei
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: