couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Kocoloski (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-2059) CouchDB replicator sends urls that are too long for comfort
Date Thu, 13 Feb 2014 12:37:19 GMT


Adam Kocoloski commented on COUCHDB-2059:

Hmm, I'd have preferred to see this config option as part of the spec for a replication job
and not a server-level config.  We're trying to address a deficiency in a particular replication
source here, but the config setting needs to be applied on the server mediating the replication.
 I think it would have been more obvious to do something like the following:

"source" : {
  "url" : "https://...",
  "max_url_len": 1024

Related question: [~isaacs], did your proxy happen to return a {{414 Request-URI Too Long}}
status?  We ought to patch the replicator to respect that return code and split up a request
as necessary.

> CouchDB replicator sends urls that are too long for comfort
> -----------------------------------------------------------
>                 Key: COUCHDB-2059
>                 URL:
>             Project: CouchDB
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: Replication
>            Reporter: Isaac Z. Schlueter
>             Fix For: 1.7.0
> I have my couchdb behind an TLS terminator.  Like most HTTP servers, it has a limit on
how long URLs can be, and that limit is far smaller than the 6-12KB urls that the CouchDB
replicator is sending.
> This is a bug, right?
> For added frustration:
> 1. The replication never goes into a failed state.  Just stays "triggered" forever, doing
nothing, hung at 77%.
> 2. The logs are indented with over 6000 spaces.  I've been known to do some crazy code
formatting in my time, but this is too extreme, and makes reading the log unnecessarily difficult.
> Suggestion:
> Limit the length of URLs that the replicator will use to something more reasonable, such
as 1024 bytes.  If more data than that is required, send it in the body of the request.

This message was sent by Atlassian JIRA

View raw message