incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Bonhage (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (COUCHDB-1651) Server responds 400 "Exceeded rewrite recursion limit" indefinitely
Date Fri, 15 Feb 2013 22:19:13 GMT

    [ 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

Mime
View raw message