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: kiran.chitt...@lucidworks.com

Reply via email to