couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "J. Lee Coltrane (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (COUCHDB-1310) '/_restart' closes request socket before sending a response
Date Mon, 17 Oct 2011 23:03:10 GMT
'/_restart' closes request socket before sending a response
-----------------------------------------------------------

                 Key: COUCHDB-1310
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1310
             Project: CouchDB
          Issue Type: Bug
          Components: HTTP Interface
    Affects Versions: 1.1
         Environment: All platforms.  Tested on Ubuntu 10.10.
            Reporter: J. Lee Coltrane
            Priority: Minor
             Fix For: 1.1


In 'couchdb_misc_handlers.erl', `handle_restart_req(...)` calls `couch_server_sup:restart_core_server()`
before sending the HTTP response.  This causes the current request's socket to be closed without
sending any response back to the client.  From the perspective of the HTTP client, the connection
is simply dropped - no response is ever received.  

In addition to the obvious aesthetic problems here, the HTTP1.1 spec suggests a specific (and
non-desirable) client-side behavior for connections that drop like this. From RFC-2616 Section-8.2.4:
"...if the client sees the connection close before receiving any status from the server, the
client SHOULD retry the request..." (http://tools.ietf.org/html/rfc2616#section-8.2.4).  Any
HTTP client that actually obeys this direction, would end up restarting the server multiple
times.

I have a patch that fixes this issue. I will attach it to this report.

This issue may be related to COUCHDB-946 (https://issues.apache.org/jira/browse/COUCHDB-946).

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