incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Chesneau (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (COUCHDB-1651) Server responds 400 "Exceeded rewrite recursion limit" indefinitely
Date Sat, 16 Feb 2013 08:27:13 GMT

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

Benoit Chesneau commented on COUCHDB-1651:
------------------------------------------

This patch is good enough, at least it makes sure the process will crash, throwing wasn't
enough ere since it wasn't catched to exit the process. Couple of remarks:

[~pfraze] the recursion limit you still get is probably due to the fact you achieved the limit.

I think a better way to handle the recursion limit would be resolving all the routes first
(in case of routes above the design docs) before to go back in the normal request handling.
So we can cache the result and check if we already resolved it. I will provide a patch asap
that does that. Also it would be good to have a proper unittest to make sure we effectively
fixed the problem.
                
> 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