Hi,
I am using http client 4.3.2 and I have a few questions.
1) I am making lot of concurrent requests to a server. When creating requests,
I want to debug and check which ports are newly created by the client.
Currently, I can see the ports in netstat as pasted below.
tcp4 0 0 172.16.11.138.7575 172.16.11.138.52014 ESTABLISHED
I enabled the debug logging for MainClientExec class and it gives me the below
information. Here it does not exactly tell me what is the source port that is
being used for the connection. How can I use this ? Also, whenever
MainClientExec prints the below line, does it mean a new connection is created
with a new port or an existing port is being used ?
2014-02-14 13:01:01 DEBUG MainClientExec:217 - Opening connection
{}->http://172.16.11.138:8983
2) My code looks like this for creating a http Client. I pass the client to
SolrJ<https://cwiki.apache.org/confluence/display/solr/Using+SolrJ> which uses
this client to make requests. SolrJ makes requests to a Solr server.
HttpClientBuilder httpBuilder = HttpClientBuilder.create();
Builder socketConfig = SocketConfig.custom();
socketConfig.setSoReuseAddress(true);
httpBuilder.setDefaultSocketConfig(socketConfig.build());
httpBuilder.setMaxConnTotal(100);
httpBuilder.setMaxConnPerRoute(100);
httpBuilder.disableRedirectHandling();
httpBuilder.useSystemProperties();
final CloseableHttpClient httpClient = httpBuilder.build();
This httpClient created above also throws some exceptions. Can I assume retry
is successful and does this happen because I enabled socketReuseAddress ?
2014-02-14 12:53:21,415 - INFO [CloudSolrServer
ThreadPool-1-thread-59:RetryExec@93] - I/O exception (java.net.SocketException)
caught when processing request: Address already in use
2014-02-14 12:53:21,443 - INFO [CloudSolrServer
ThreadPool-1-thread-59:RetryExec@106] - Retrying request
2014-02-14 12:53:47,299 - INFO [CloudSolrServer
ThreadPool-1-thread-203:RetryExec@93] - I/O exception
(java.net.SocketException) caught when processing request: Address already in
use
2014-02-14 12:53:47,327 - INFO [CloudSolrServer
ThreadPool-1-thread-203:RetryExec@106] - Retrying request
2014-02-14 12:54:24,740 - INFO [CloudSolrServer
ThreadPool-1-thread-263:RetryExec@93] - I/O exception
(java.net.SocketException) caught when processing request: Address already in
use
2014-02-14 12:54:24,763 - INFO [CloudSolrServer
ThreadPool-1-thread-263:RetryExec@106] - Retrying request
2014-02-14 12:54:39,121 - INFO [CloudSolrServer
ThreadPool-1-thread-142:RetryExec@93] - I/O exception
(java.net.SocketException) caught when processing request: Address already in
use
2014-02-14 12:54:39,157 - INFO [CloudSolrServer
ThreadPool-1-thread-142:RetryExec@106] - Retrying request
Please let me know your suggestions.
Many Thanks for your help,
--
Kiran Chitturi,
Software Engineer,
LucidWorks.
Cell Phone: 540-577-4852
Office Phone: 650-249-4452
Email: [email protected]