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

Reduce default non-blocking thread pool size

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 13.0.0.Final
    • Core
    • None

      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.

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

                Created:
                Updated: