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

Christopher Bonhage commented on COUCHDB-1651:
----------------------------------------------

Commit 8199c5d86c5548659e14e342b659dd233ad65096 appears to be a work-around to 
this behavior that does not fix the reported issue.

This is undesirable behavior, my routes should not be causing rewrite limits to 
be exceeded. My couchapps do not use recursive rewrites, yet I encounter this 
error when the browser decides to reuse a socket for 100+ requests (as shown in 
my logs above). The process slowly builds up to exceeding the rewrite limit 
because the couch_rewrite_count is never reset between requests on the same 
process. Exiting the offending process definitely /will/ reset the 
couch_rewrite_count, but at the cost of not actually fixing the problem and 
making the root cause of this error even harder to track down when it does 
occur once every 100 requests.
                
> Server responds 400 "Exceeded rewrite recursion limit" indefinitely
> -------------------------------------------------------------------
>
>                 Key: COUCHDB-1651
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1651
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>            Reporter: Paul Frazee
>         Attachments: resolve_spurious_rewrite_limit_errors.patch
>
>
> Running 1.2.1 on Windows 7 as a service.
> hosts file includes "127.0.0.1 grimwire.local"
> CouchDB conf includes vhosts entries:
> grimwire.local:5984            /grimwire/_design/grimwire/_rewrite
> grimwire.local:5984/local      /grimwire/_design/local/_rewrite
> 'grimwire' design doc rewrites:
> [
>       {
>               "from": "",
>               "to": "index.html",
>               "method": "GET"
>       },
>       {
>               "from": "*",
>               "to": "*"
>       }
> ]
> 'local' design doc rewrites:
> [
>       {
>               "from":"",
>               "to":"index.html",
>               "method":"GET"
>       },
>       {
>               "from":"/posts",
>               "to":"_list/wallpost/wallpost-by-created_at",
>               "method":"GET"
>       },
>       {
>               "from":"/posts",
>               "to":"_update/wallpost",
>               "method":"POST"
>       },
>       {
>               "from":"/posts/:id",
>               "to":"_show/wallpost/:id",
>               "method":"GET"
>       },
>       {
>               "from":"/posts/:id",
>               "to":"_update/wallpost/:id",
>               "method":"PUT"
>       },
>       {
>               "from":"*",
>               "to":"*"
>       }
> ]
> Problem:
> The requests work as expected for some unknown period, then begin to respond 
> with a 400 status and the "Exceeded rewrite recursion limit" error message. 
> Changing the rewrites rules for both applications, including setting them to 
> empty arrays, had no effect.
> The problem was solved by restarting the CouchDB service.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to