Zoltan Farkas created CAMEL-10240:
-------------------------------------
Summary: CamelHttpClient default pool size does not work on system
with large number of cpus
Key: CAMEL-10240
URL: https://issues.apache.org/jira/browse/CAMEL-10240
Project: Camel
Issue Type: Bug
Components: camel-jetty
Affects Versions: 2.17.2
Reporter: Zoltan Farkas
In CamelHttpClient a default threadpool is being created with a hardcoded size
of 16:
{code}
@Override
protected void doStart() throws Exception {
if (!hasThreadPool()) {
// if there is no thread pool then create a default thread pool
using daemon threads
QueuedThreadPool qtp = new QueuedThreadPool();
// 16 max threads is the default in the http client
qtp.setMaxThreads(16);
qtp.setDaemon(true);
// let the thread names indicate they are from the client
qtp.setName("CamelJettyClient(" +
ObjectHelper.getIdentityHashCode(this) + ")");
setThreadPoolOrExecutor(qtp);
}
super.doStart();
}
{code}
this configuration does not work because number of selectors is calculated
relative to the number of CPUs in HttpClientTransportOverHTTP:
{code}
public HttpClientTransportOverHTTP()
{
this(Math.max(1, Runtime.getRuntime().availableProcessors() / 2));
}
{code}
As a result by default camel simply hangs on these systems...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)