You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrea Cosentino (JIRA)" <ji...@apache.org> on 2016/08/23 07:08:20 UTC
[jira] [Assigned] (CAMEL-10240) CamelHttpClient default pool size
does not work on system with large number of cpus
[ https://issues.apache.org/jira/browse/CAMEL-10240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrea Cosentino reassigned CAMEL-10240:
----------------------------------------
Assignee: Andrea Cosentino
> 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: Improvement
> Components: camel-jetty
> Affects Versions: 2.17.2
> Reporter: Zoltan Farkas
> Assignee: Andrea Cosentino
>
> 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...
> It would be nice if CamelHttpClient would have a constructor that set the HttpClientTransport or at least the number of selectors.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)