incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Eisenmann (JIRA)" <j...@apache.org>
Subject [jira] [Created] (COUCHDB-1520) Replicator does not close Socket in pull from HTTPS source
Date Wed, 08 Aug 2012 10:13:10 GMT
Simon Eisenmann created COUCHDB-1520:
----------------------------------------

             Summary: Replicator does not close Socket in pull from HTTPS source
                 Key: COUCHDB-1520
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1520
             Project: CouchDB
          Issue Type: Bug
          Components: Replication
    Affects Versions: 1.2
         Environment: Ubuntu 8.04, Erlang 14.b.4 64bit
            Reporter: Simon Eisenmann
            Priority: Critical


When replicating using pull replication from an HTTPS-CouchDB source, the client socket does
not go away, but stays in CLOSE_WAIT forever, This will crash the whole CouchDB server, as
it will run out of file descriptors.

This did not happen with CouchDB 1.1.

I experimented with changing the socket options for the replicator client, though no luck.
The only change i saw  was then running with keepalive (which was the default), also the server
side (pull peer) leaks a connection. Now i am running with socket_options = [{keepalive, false},
{send_timeout, 10000}, {send_timeout_close, true}]
 which does not change a thing other than on the client side is leaking connections.

To test this, you need the PID of the couchdb's beam process (ps aux |grep beam)
Then you list all the open files of this PID with "lsof -p $PID"
First you will see the pull connections beeing in ESTABLISHED state for a wile (even when
the replication itself is long finished), Then at some point it switches to CLOSE_WAIT. The
client side socket needs to be closed by the replicator to go away and release the resources
(eg. file pointer).


--
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

        

Mime
View raw message