ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nate Cole" <nc...@hortonworks.com>
Subject Re: Review Request 40668: Produce a Warning When Jetty Pool Size Is Too Low And Increase It
Date Tue, 24 Nov 2015 21:03:29 GMT

-----------------------------------------------------------
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
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message