You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Christopher Bonhage (JIRA)" <ji...@apache.org> on 2013/02/15 21:55:13 UTC

[jira] [Updated] (COUCHDB-1651) Server responds 400 "Exceeded rewrite recursion limit" indefinitely

     [ https://issues.apache.org/jira/browse/COUCHDB-1651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christopher Bonhage updated COUCHDB-1651:
-----------------------------------------

    Attachment: resolve_spurious_rewrite_limit_errors.patch

I've created an embarrassingly simple patch for this issue which erases the couch_rewrite_count from the request's process dictionary after a response has been sent.
                
> 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