Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-730

Pull replication confuses mochiweb keep-alive

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.10.1, 0.11
    • 0.11.1
    • Replication
    • None

    Description

      MochiWeb closes a request connection if the headers indicate the presence of a body with non-zero length but the body is never read by the application. Couch sends a body with the atom "true" in a POST to _ensure_full_commit before saving replication checkpoints, but a remote Couch will not read this body. As a result, MochiWeb closes the request and all pipelined requests for this host must be retried by couch_rep_httpc / ibrowse.

      I don't know if the body = true was a holdover from a quirk with an older MochiWeb, lhttpc (didn't couch used to use this?) or something else, but simply removing it does the trick.

      Patch attached.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tilgovi Randall Leeds
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Slack

                  Issue deployment