ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hurley (JIRA)" <>
Subject [jira] [Created] (AMBARI-14050) Produce a Warning When Jetty Pool Size Is Too Low And Increase It
Date Tue, 24 Nov 2015 20:36:11 GMT
Jonathan Hurley created AMBARI-14050:

             Summary: Produce a Warning When Jetty Pool Size Is Too Low And Increase It
                 Key: AMBARI-14050
             Project: Ambari
          Issue Type: Bug
          Components: ambari-server
    Affects Versions: 2.0.0
            Reporter: Jonathan Hurley
            Assignee: Jonathan Hurley
            Priority: Critical
             Fix For: 2.1.3

Ambari's default Jetty thread pool is configured at 25 threads. When deployed on a machine
that has 48 "processors", Jetty's calculation for determining how many "Acceptor" and "Selector"
threads to create never takes into account the core pool size. As a result, we get:

- 12 "Acceptor" threads (these answer binds to port 8080)
- 12 "Selector" threads (these pick available threads to answer bindings)
- 1 free thread (these are the threads available to do stuff with)

Notice that there's only 1 free thread. This means that Jetty effectively makes Ambari a single-threaded
web application on larger systems!

The "fix" is to increase the thread count in the {{}}, however nobody knows
to do this since no warning is produced.

I suggest:

- Log a warning on server startup if we detect that the core pool size is less than 3/4 of
the available processors on the system.

- Automatically increase the core pool size to the min(100, double existing size) when the
above is detected

This message was sent by Atlassian JIRA

View raw message