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

Better and more sensible executor configuration

    Details

    • Type: Enhancement
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Configuration
    • Labels:

      Description

      Dan and I had a chat about ISPN-1396 and we both agreed that a better configuration and management approach is needed for Infinispan's executors:

      • Firstly, out of the box for SE environments, Infinispan should have executors configured with newCachedThreadPool because they provide better queuing performance than a fixed thread pool.
      • Sure, in an managed env (i.e. AS), this won't fly, which is why all executors need to be injectable. This should be in place once ISPN-1396 is in place.
      • So, if we go for cached thread pools for SE environments, we don't need any of the properties of executors any more. Besides, these can be more confusing for the user (there is knowledged of at least one case where things went wrong due to bad config here). So, the configuration would be limited to injecting executors. If you need any specific executor settings, pass us the right executors. To aid these cases, we could have some executor builders available with some common executor configuration for managed envs (i.e. we could borrow settings from AS?)

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            galder.zamarreno Galder Zamarreño added a comment -

            Btw, this means that we wouldn't need any more typed executor configuration, at least for individual properties (so, nothing like ISPN-1296 for executors).

            Show
            galder.zamarreno Galder Zamarreño added a comment - Btw, this means that we wouldn't need any more typed executor configuration, at least for individual properties (so, nothing like ISPN-1296 for executors).
            Hide
            galder.zamarreno Galder Zamarreño added a comment -

            ISPN-3514 brings in new XML and embedded configuration in the executor area, so part of this JIRA is completed there. What's left is deciding better default thread pool configuration out of the box for embedded. Maybe a cached thread pool for all? Maybe a fork/join pool?...etc.

            Show
            galder.zamarreno Galder Zamarreño added a comment - ISPN-3514 brings in new XML and embedded configuration in the executor area, so part of this JIRA is completed there. What's left is deciding better default thread pool configuration out of the box for embedded. Maybe a cached thread pool for all? Maybe a fork/join pool?...etc.
            Hide
            galder.zamarreno Galder Zamarreño added a comment -

            ...and to be able to decide what's the best default, all executor services used internally need to be configurable, which is not yet the case. This is what ISPN-1396 will give us.

            Show
            galder.zamarreno Galder Zamarreño added a comment - ...and to be able to decide what's the best default, all executor services used internally need to be configurable, which is not yet the case. This is what ISPN-1396 will give us.

              People

              • Assignee:
                galder.zamarreno Galder Zamarreño
                Reporter:
                galder.zamarreno Galder Zamarreño
              • Votes:
                1 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Development