[ 
https://issues.apache.org/jira/browse/SOLR-3280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246139#comment-13246139
 ] 

Bernd Fehling commented on SOLR-3280:
-------------------------------------

Nope, no firewall. I have 1 master and 2 slaves on the same lan. After 
replication finished the connection on master is closed, the connection on 
slave is in CLOSE_WAIT with a Receive-Queue 1 byte. If everything goes well the 
connection will be reused by MultiThreadedHttpConnectionManager, but if 
something goes wrong (which is very seldom on my systems) the connection will 
hang on CLOSE_WAIT and the new index is not swapped in.
If you use jvisualvm on that slave and go to the MBeans tab you can see "solr/" 
in the tree but you can't open it because there is no sub-tree.
The patch is just releasing the connection, if it hangs or not, and keeps 
everything operational. So no harm or performance impact for replication.


                
> to many / sometimes stale CLOSE_WAIT connections from SnapPuller during / 
> after replication
> -------------------------------------------------------------------------------------------
>
>                 Key: SOLR-3280
>                 URL: https://issues.apache.org/jira/browse/SOLR-3280
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 3.5, 3.6, 4.0
>            Reporter: Bernd Fehling
>            Assignee: Robert Muir
>            Priority: Minor
>         Attachments: SOLR-3280.patch
>
>
> There are sometimes to many and also stale CLOSE_WAIT connections 
> during/after replication left over on SLAVE server.
> Normally GC should clean up this but this is not always the case.
> Also if a CLOSE_WAIT is hanging then the new replication won't load.
> Dirty work around so far is to fake a TCP connection as root to that 
> connection and close it. 
> After that the new replication will load, the old index and searcher released 
> and the system will
> return to normal operation.
> Background:
> The SnapPuller is using Apache httpclient 3.x and uses the 
> MultiThreadedHttpConnectionManager.
> The manager holds a connection in CLOSE_WAIT after its use for further 
> requests.
> This is done by calling releaseConnection. But if a connection is stuck it is 
> not available any more and a new
> connection from the pool is used.
> Solution:
> After calling releaseConnection clean up with closeIdleConnections(0).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to