[ 
https://issues.apache.org/jira/browse/DRILL-5994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vlad Rozov updated DRILL-5994:
------------------------------
    Description: 
If the WebServer is launched on a machine that has more than 200 cores, you get 
the following stack trace:

{noformat}
Exception in thread "main" 
org.apache.drill.exec.exception.DrillStartupException: Failure during initial 
startup of Drillbit:
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:313)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:289)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:285)
Caused by: java.lang.IllegalStateException: Insufficient max threads in 
ThreadPool: max=200 < needed=206
at org.eclipse.jetty.server.Server.doStart(Server.java:321)
at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.drill.exec.server.rest.WebServer.start(WebServer.java:197)
at org.eclipse.drill.exec.server.Drillbit.run(Drillbit.java:140)
at org.eclipse.drill.exec.server.Drillbit.start(Drillbit.java:309)
... 2 more
{noformat}

The cause of this is that in the WebServer start method, a Server instance is 
created with the default constructor, which initializes a QueuedThreadPool with 
a default maxThreads value of 200, and there is no way to configure this value.

*For documentation*
New config option - -drill.exec.web_server.thread_pool_max- 
drill.exec.http.jetty.server.acceptors (default 1) and 
drill.exec.http.jetty.server.selectors (default 2).

  was:
If the WebServer is launched on a machine that has more than 200 cores, you get 
the following stack trace:

{noformat}
Exception in thread "main" 
org.apache.drill.exec.exception.DrillStartupException: Failure during initial 
startup of Drillbit:
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:313)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:289)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:285)
Caused by: java.lang.IllegalStateException: Insufficient max threads in 
ThreadPool: max=200 < needed=206
at org.eclipse.jetty.server.Server.doStart(Server.java:321)
at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.drill.exec.server.rest.WebServer.start(WebServer.java:197)
at org.eclipse.drill.exec.server.Drillbit.run(Drillbit.java:140)
at org.eclipse.drill.exec.server.Drillbit.start(Drillbit.java:309)
... 2 more
{noformat}

The cause of this is that in the WebServer start method, a Server instance is 
created with the default constructor, which initializes a QueuedThreadPool with 
a default maxThreads value of 200, and there is no way to configure this value.

*For documentation*
New config option - drill.exec.web_server.thread_pool_max.


> enable configuring number of Jetty acceptors and selectors
> ----------------------------------------------------------
>
>                 Key: DRILL-5994
>                 URL: https://issues.apache.org/jira/browse/DRILL-5994
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.11.0
>            Reporter: Mitchel Labonte
>            Assignee: Vlad Rozov
>            Priority: Minor
>              Labels: doc-impacting, ready-to-commit
>             Fix For: 1.13.0
>
>
> If the WebServer is launched on a machine that has more than 200 cores, you 
> get the following stack trace:
> {noformat}
> Exception in thread "main" 
> org.apache.drill.exec.exception.DrillStartupException: Failure during initial 
> startup of Drillbit:
> at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:313)
> at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:289)
> at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:285)
> Caused by: java.lang.IllegalStateException: Insufficient max threads in 
> ThreadPool: max=200 < needed=206
> at org.eclipse.jetty.server.Server.doStart(Server.java:321)
> at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
> at org.eclipse.drill.exec.server.rest.WebServer.start(WebServer.java:197)
> at org.eclipse.drill.exec.server.Drillbit.run(Drillbit.java:140)
> at org.eclipse.drill.exec.server.Drillbit.start(Drillbit.java:309)
> ... 2 more
> {noformat}
> The cause of this is that in the WebServer start method, a Server instance is 
> created with the default constructor, which initializes a QueuedThreadPool 
> with a default maxThreads value of 200, and there is no way to configure this 
> value.
> *For documentation*
> New config option - -drill.exec.web_server.thread_pool_max- 
> drill.exec.http.jetty.server.acceptors (default 1) and 
> drill.exec.http.jetty.server.selectors (default 2).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to