You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Jonathan Hurley <jh...@hortonworks.com> on 2015/11/24 21:38:02 UTC
Review Request 40668: Produce a Warning When Jetty Pool Size Is Too
Low And Increase It
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/40668/
-----------------------------------------------------------
Review request for Ambari, Alejandro Fernandez, Nate Cole, and Sid Wagle.
Bugs: AMBARI-14050
https://issues.apache.org/jira/browse/AMBARI-14050
Repository: ambari
Description
-------
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 {{ambari.properties}}, 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
Diffs
-----
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java 56034d9
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariServerTest.java 621010a
Diff: https://reviews.apache.org/r/40668/diff/
Testing
-------
mvn clean test
(thread dumps with simulated Runtime.getRuntime() calls)
Thanks,
Jonathan Hurley
Re: Review Request 40668: Produce a Warning When Jetty Pool Size Is
Too Low And Increase It
Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/40668/#review107838
-----------------------------------------------------------
Ship it!
Ship It!
- Alejandro Fernandez
On Nov. 24, 2015, 8:38 p.m., Jonathan Hurley wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/40668/
> -----------------------------------------------------------
>
> (Updated Nov. 24, 2015, 8:38 p.m.)
>
>
> Review request for Ambari, Alejandro Fernandez, Nate Cole, and Sid Wagle.
>
>
> Bugs: AMBARI-14050
> https://issues.apache.org/jira/browse/AMBARI-14050
>
>
> Repository: ambari
>
>
> Description
> -------
>
> 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 {{ambari.properties}}, 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
>
>
> Diffs
> -----
>
> ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java 56034d9
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariServerTest.java 621010a
>
> Diff: https://reviews.apache.org/r/40668/diff/
>
>
> Testing
> -------
>
> mvn clean test
>
> (thread dumps with simulated Runtime.getRuntime() calls)
>
>
> Thanks,
>
> Jonathan Hurley
>
>
Re: Review Request 40668: Produce a Warning When Jetty Pool Size Is
Too Low And Increase It
Posted by Nate Cole <nc...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/40668/#review107841
-----------------------------------------------------------
Ship it!
Ship It!
- Nate Cole
On Nov. 24, 2015, 3:38 p.m., Jonathan Hurley wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/40668/
> -----------------------------------------------------------
>
> (Updated Nov. 24, 2015, 3:38 p.m.)
>
>
> Review request for Ambari, Alejandro Fernandez, Nate Cole, and Sid Wagle.
>
>
> Bugs: AMBARI-14050
> https://issues.apache.org/jira/browse/AMBARI-14050
>
>
> Repository: ambari
>
>
> Description
> -------
>
> 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 {{ambari.properties}}, 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
>
>
> Diffs
> -----
>
> ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java 56034d9
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariServerTest.java 621010a
>
> Diff: https://reviews.apache.org/r/40668/diff/
>
>
> Testing
> -------
>
> mvn clean test
>
> (thread dumps with simulated Runtime.getRuntime() calls)
>
>
> Thanks,
>
> Jonathan Hurley
>
>