Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-312

Artemis clients use by default an unbounded global thread pool

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1.0
    • 1.3.0
    • Broker
    • None

    Description

      While investigating some performance issues, we noticed that Artemis clients (including MDBs) use by default a "global" pool by creating a cached thread pool with 0 core pool size, Integer.MAX_VALUE max size and 60s keep alive.

      This default global pool looks misconfigured. If a Artemis clients has a lot of activity it is actually possible that threads are deleted from the pool and added back.

      Related to this, Artemis defines a threadPoolMaxSize attribute if the client is not using a global pool. But the property does not seem to be well name.
      If the Artemis client is using a "non-global" pool, this property is used to create a newFixedThreadPool. So this property defines the actual size of the pool, not a max size.

      As a comparison, the "global" scheduled thread is instantiating with a 5 core pool size.

      Attachments

        Activity

          People

            martyntaylor Martyn Taylor
            jmesnil Jeff Mesnil
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: