[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13586234#comment-13586234 ] ASF subversion and git services commented on COUCHDB-1651: -- Commit 09063e937d1c7884ceedd7738bb309749df3b169 in branch refs/heads/1.2.x from [~rnewson] [ https://git-wip-us.apache.org/repos/asf?p=couchdb.git;h=09063e9 ] Reset rewrite counter on new request We were spuriously throwing rewrite limit exceeded for non-looping rewrites. This patch resets the count to zero at the start of a new request and adds a test. COUCHDB-1651 > 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 > Fix For: 1.3, 1.2.2 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13585486#comment-13585486 ] ASF subversion and git services commented on COUCHDB-1651: -- Commit 09063e937d1c7884ceedd7738bb309749df3b169 in branch refs/heads/1.2.x from [~rnewson] [ https://git-wip-us.apache.org/repos/asf?p=couchdb.git;h=09063e9 ] Reset rewrite counter on new request We were spuriously throwing rewrite limit exceeded for non-looping rewrites. This patch resets the count to zero at the start of a new request and adds a test. COUCHDB-1651 > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13580310#comment-13580310 ] Paul Frazee commented on COUCHDB-1651: -- I've run the most recent commit to master and have not been able to reproduce the bug. Thanks for your help, guys. > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13580268#comment-13580268 ] ASF subversion and git services commented on COUCHDB-1651: -- Commit 424a87947ac45e1aa0a60332d50a3c97f563ea99 in branch refs/heads/1.3.x from [~rnewson] [ https://git-wip-us.apache.org/repos/asf?p=couchdb.git;h=424a879 ] Reset rewrite counter on new request We were spuriously throwing rewrite limit exceeded for non-looping rewrites. This patch resets the count to zero at the start of a new request and adds a test. COUCHDB-1651 > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13580269#comment-13580269 ] ASF subversion and git services commented on COUCHDB-1651: -- Commit fdbd48a44624bff120daa51992924feeca23ba00 in branch refs/heads/master from [~rnewson] [ https://git-wip-us.apache.org/repos/asf?p=couchdb.git;h=fdbd48a ] Reset rewrite counter on new request We were spuriously throwing rewrite limit exceeded for non-looping rewrites. This patch resets the count to zero at the start of a new request and adds a test. COUCHDB-1651 > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13580262#comment-13580262 ] ASF subversion and git services commented on COUCHDB-1651: -- Commit 0c216d163155ac27c9d80ce11f3f3816abb3bd14 in branch refs/heads/1651-fix-reset-rewrite-count from [~rnewson] [ https://git-wip-us.apache.org/repos/asf?p=couchdb.git;h=0c216d1 ] Reset rewrite counter on new request We were spuriously throwing rewrite limit exceeded for non-looping rewrites. This patch resets the count to zero at the start of a new request and adds a test. COUCHDB-1651 > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13580240#comment-13580240 ] Benoit Chesneau commented on COUCHDB-1651: -- good for me > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13580238#comment-13580238 ] Jan Lehnardt commented on COUCHDB-1651: --- [~benoitc] & [~rnewson]: let’s ship robert’s branch in 1.3.0 and get benoit’s version in the next release? > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13580236#comment-13580236 ] Benoit Chesneau commented on COUCHDB-1651: -- [~rnewson]worked on it slowly today, will create the branch later tonight or tomorrow > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13580234#comment-13580234 ] ASF subversion and git services commented on COUCHDB-1651: -- Commit 3863eccf2a121dbe4edbfcfb83a3974ecf7b54c4 in branch refs/heads/1651-fix-reset-rewrite-count from [~rnewson] [ https://git-wip-us.apache.org/repos/asf?p=couchdb.git;h=3863ecc ] Reset rewrite counter on new request We were spuriously throwing rewrite limit exceeded for non-looping rewrites. This patch resets the count to zero at the start of a new request and adds a test. COUCHDB-1651 > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13579778#comment-13579778 ] Robert Newson commented on COUCHDB-1651: +1 on Benoit's structural change, this will also get rid of the pre_rewrite_user_ctx dictionary item. I've pushed a patch, with a test, that resets the count when a new request begins. > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13579777#comment-13579777 ] ASF subversion and git services commented on COUCHDB-1651: -- Commit 77d9104daf5b7d05e8c785ee4e86ef71a630c2c7 in branch refs/heads/1651-fix-reset-rewrite-count from [~rnewson] [ https://git-wip-us.apache.org/repos/asf?p=couchdb.git;h=77d9104 ] Reset rewrite counter on new request We were spuriously throwing rewrite limit exceeded for non-looping rewrites. This patch resets the count to zero at the start of a new request and adds a test. COUCHDB-1651 > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13579774#comment-13579774 ] Benoit Chesneau commented on COUCHDB-1651: -- Initial version wasn't using the process dictionary but was added because some didn't want to have an extra header. I don't think this is the problem there, correctly handling the routes resolving is the path to go. Say instead of doing (in pseudo code): handle_request(Req) -> if path =:= "_rewrite" -> handle_rewrite(Req) else do something handle_rewrite(Req) -> NewReq = handle_routes(Req), handle_request(NewReq). we could have: handle_rewrite(Req) -> Path = Req#path, NewPath = resolve_route(Path, []), resolve_route(Path, Resolved) -> Rules = get_rules(Path), NewPath = bind_path(Path, Rules), if need_rewrite(NewPath) -> if is_member(NewPath, Resolved) -> throw({infinite_loop, ...}) else resolve_route(Path, [NewPath | Resolved]) else: Path Of course we can here calculate the recursion count and see if we get over the limit etc. > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13579770#comment-13579770 ] Robert Newson commented on COUCHDB-1651: Amusingly we do the erase/put thing correctly for the pre_rewrite_user_ctx setting (and for similar reasons). I'd much rather not use the process dictionary at all. > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13579769#comment-13579769 ] Robert Newson commented on COUCHDB-1651: Actually, I retract that patch. The issue is, as clearly stated if only I would read clearly, that 200 non-recursive rewrites will also trip this system, and that's just wrong. Erasing the count at the start of each handle_request call is the right fix. > 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
[jira] [Commented] (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: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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13579726#comment-13579726 ] Christopher Bonhage commented on COUCHDB-1651: -- Paul, I think you'll find the issue completely resolved with my patch above. The '1651-recursive-rewrite-leak' branch solves the symptom of the error being unrecoverable, but does not address the root cause of the error, which is that re-used processes are being treated as recursed rewrites. > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13579712#comment-13579712 ] Paul Frazee commented on COUCHDB-1651: -- Thanks for your help with this. Glad we're narrowing in one a fix. After building the '1651-recursive-rewrite-leak', I've found that the issue is much rarer, and no-longer unrecoverable. I do still receive `{"error":"bad_request","reason":"Exceeded rewrite recursion limit"}` on occasion, when refreshing heavily. > 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
[jira] [Commented] (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: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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13579521#comment-13579521 ] ASF subversion and git services commented on COUCHDB-1651: -- Commit 8199c5d86c5548659e14e342b659dd233ad65096 in branch refs/heads/1651-recursive-rewrite-leak from [~rnewson] [ https://git-wip-us.apache.org/repos/asf?p=couchdb.git;h=8199c5d ] Terminate process that exceeds rewrite limit A process that exceeds rewrite limit returns a 400 error to the client but can then be used for further requests, which also return 400 incorrectly. This patch ensures the request process dies, taking its process dictionary with it. COUCHDB-1651 > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13579479#comment-13579479 ] Christopher Bonhage commented on COUCHDB-1651: -- Alright, I've figured out what's going on! I added some logging to couch_httpd_rewrite:handle_rewrite_req/3: MaxRewritesList = couch_config:get("httpd", "rewrite_limit", "100"), MaxRewrites = list_to_integer(MaxRewritesList), RewriteCount = case get(couch_rewrite_count) of undefined -> 0; Count -> Count end, ?LOG_INFO("rewrite recursion depth ~B/~B", [RewriteCount, MaxRewrites]), case RewriteCount of NumRewrites when NumRewrites < MaxRewrites -> put(couch_rewrite_count, NumRewrites + 1); _ -> throw({bad_request, <<"Exceeded rewrite recursion limit">>}) end, I noticed the problem immediately: CouchDB is reusing request processes, but not clearing the couch_rewrite_count in the process dictionary! Apache CouchDB has started. Time to relax. [info] [<0.36.0>] Apache CouchDB has started on http://0.0.0.0:5984/ [info] [<0.36.0>] Apache CouchDB has started on https://0.0.0.0:6984/ [info] [<0.134.0>] rewrite recursion depth 0/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testdb/testapp/apps/testapp.html 200 [info] [<0.134.0>] rewrite recursion depth 1/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testdb/testapp/stylesheets/testapp/screen.css 200 [info] [<0.134.0>] rewrite recursion depth 2/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testapp/_design/testapp/_list/image_json/images?_=1360958246705 200 [info] [<0.134.0>] rewrite recursion depth 3/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testapp/396/images/1.jpg?key=396&file=1.jpg 200 [info] [<0.134.0>] rewrite recursion depth 4/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testdb/testapp/apps/testapp.html 200 [info] [<0.134.0>] rewrite recursion depth 5/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testdb/testapp/stylesheets/testapp/screen.css 304 [info] [<0.134.0>] rewrite recursion depth 6/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testapp/_design/testapp/_list/image_json/images?_=1360958261344 200 [info] [<0.134.0>] rewrite recursion depth 7/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testapp/_design/testapp/_list/value_json/all?startkey=%5B%5D&endkey=%5B%7B%7D%5D 304 [info] [<0.134.0>] rewrite recursion depth 8/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testapp/245/images/1.jpg?key=245&file=1.jpg 200 [info] [<0.134.0>] rewrite recursion depth 9/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testapp/389/images/2.jpg?key=389&file=2.jpg 200 [info] [<0.134.0>] rewrite recursion depth 10/100 [info] [<0.134.0>] 127.0.0.1 - - GET /testapp/389/images/1.jpg?key=389&file=1.jpg 200 A quick search through the codebase confirms this: Searching 130 files for "couch_rewrite_count" (case sensitive) couchdb/src/couchdb/couch_httpd_rewrite.erl: 123 MaxRewritesList = couch_config:get("httpd", "rewrite_limit", "100"), 124 MaxRewrites = list_to_integer(MaxRewritesList), 125: case get(couch_rewrite_count) of 126 undefined -> 127: put(couch_rewrite_count, 1); 128 NumRewrites when NumRewrites < MaxRewrites -> 129: put(couch_rewrite_count, NumRewrites + 1); 130 _ -> 131 throw({bad_request, <<"Exceeded rewrite recursion limit">>}) 3 matches in 1 file > 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 > > 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", >
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13578824#comment-13578824 ] Paul Frazee commented on COUCHDB-1651: -- Right, logs from log-level debug: {code} [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.125.0>] 'GET' /grimwire/_design/grimwire/grim/env/scripts.js {1,1} from "108.95.144.117" Headers: [{'Accept',"*/*"}, {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.3"}, {'Accept-Encoding',"gzip,deflate,sdch"}, {'Accept-Language',"en-US,en;q=0.8"}, {'Cache-Control',"max-age=0"}, {'Connection',"keep-alive"}, {'Host',"grimwire.com"}, {'If-None-Match',"\"ADmMihqI8QzLK0HgYmgzNw==\""}, {'Referer',"http://grimwire.com/"}, {'User-Agent',"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1408.0 Safari/537.31"}, {"x-couchdb-requested-path", "/grimwire/_design/grimwire/_rewrite/grim/env/scripts.js"}, {"x-couchdb-vhost-path","/grim/env/scripts.js"}] [Thu, 14 Feb 2013 23:45:27 GMT] [info] [<0.127.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/intents.js 304 [Thu, 14 Feb 2013 23:45:27 GMT] [info] [<0.125.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/env/scripts.js 304 [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.126.0>] Vhost Target: '"/grimwire/_design/grimwire/_rewrite/grim/env/localstorage.js"' [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.126.0>] 'GET' /grimwire/_design/grimwire/_rewrite/grim/env/localstorage.js {1, 1} from "108.95.144.117" Headers: [{'Accept',"*/*"}, {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.3"}, {'Accept-Encoding',"gzip,deflate,sdch"}, {'Accept-Language',"en-US,en;q=0.8"}, {'Cache-Control',"max-age=0"}, {'Connection',"keep-alive"}, {'Host',"grimwire.com"}, {'If-None-Match',"\"e2mEaOyN1HP7H5S5NBqJAA==\""}, {'Referer',"http://grimwire.com/"}, {'User-Agent',"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1408.0 Safari/537.31"}, {"x-couchdb-vhost-path","/grim/env/localstorage.js"}] [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.126.0>] OAuth Params: [] [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.129.0>] Vhost Target: '"/grimwire/_design/grimwire/_rewrite/index.js"' [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.129.0>] 'GET' /grimwire/_design/grimwire/_rewrite/index.js {1,1} from "108.95.144.117" Headers: [{'Accept',"*/*"}, {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.3"}, {'Accept-Encoding',"gzip,deflate,sdch"}, {'Accept-Language',"en-US,en;q=0.8"}, {'Cache-Control',"max-age=0"}, {'Connection',"keep-alive"}, {'Host',"grimwire.com"}, {'If-None-Match',"\"R4O2Zw+PuEQXzwAfH/9BDw==\""}, {'Referer',"http://grimwire.com/"}, {'User-Agent',"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1408.0 Safari/537.31"}, {"x-couchdb-vhost-path","/index.js"}] [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.129.0>] OAuth Params: [] [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.126.0>] rewrite to "/grimwire/_design/grimwire/grim/env/localstorage.js" [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.126.0>] 'GET' /grimwire/_design/grimwire/grim/env/localstorage.js {1, 1} from "108.95.144.117" Headers: [{'Accept',"*/*"}, {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.3"}, {'Accept-Encoding',"gzip,deflate,sdch"}, {'Accept-Language',"en-US,en;q=0.8"}, {'Cache-Control',"max-age=0"}, {'Connection',"keep-alive"}, {'Host',"grimwire.com"}, {'If-None-Match',"\"e2mEaOyN1HP7H5S5NBqJAA==\""}, {'Referer',"http://grimwire.com/"}, {'User-Agent',"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1408.0 Safari/537.31"}, {"x-couchdb-requested-path", "/grimwire/_design/grimwire/_rewrite/grim/env/localstorage.js"}, {"x-couchdb-vhost-path","/grim/env/localstorage.js"}] [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.129.0>] Minor error in HTTP request: {bad_request, <<"Exceeded rewrite recursion limit">>} [Thu, 14 Feb 2013 23:45:27 GMT] [debug] [<0.129.0>] Stacktrace: [{couch_httpd_rewrite,handle_rewrite_req,3, [{file, "/home/pfraze/tools/build-couchdb/dependencies/couchdb/src/couchdb/couch_httpd_rewrite.erl"}, {line,130}]}, {couch_httpd_db,do_db_req,2, [{file, "/home/pfraze/tools/build-couchdb/dependencies/couchdb/src/couchdb/couch_httpd_db.erl"},
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13576672#comment-13576672 ] Paul Frazee commented on COUCHDB-1651: -- Here's the log leading up to the moment of death, and the refresh: {code} Tue, 12 Feb 2013 15:04:19 GMT] [info] [<0.4774.1>] 108.95.144.117 - - GET /grimwire/_design/assets/fontello/css/icons.css 304 [Tue, 12 Feb 2013 15:04:19 GMT] [info] [<0.8883.1>] 108.95.144.117 - - GET /grimwire/_design/local/lib/link.js 304 [Tue, 12 Feb 2013 15:04:19 GMT] [info] [<0.6286.1>] 108.95.144.117 - - GET /grimwire/_design/grimwire/index.css 304 [Tue, 12 Feb 2013 15:04:19 GMT] [info] [<0.24165.0>] 108.95.144.117 - - GET /grimwire/_design/local/lib/common-client.js 304 [Tue, 12 Feb 2013 15:04:19 GMT] [info] [<0.8572.1>] 108.95.144.117 - - GET /grimwire/_design/local/lib/myhouse.js 304 [Tue, 12 Feb 2013 15:04:19 GMT] [info] [<0.11928.0>] 108.95.144.117 - - GET /grimwire/_design/assets/bootstrap/css/bootstrap.css 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.4774.1>] 108.95.144.117 - - GET /grimwire/_design/local/lib/environment.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.8883.1>] 108.95.144.117 - - GET /grimwire/_design/local/lib/linkjs-ext/responder.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.6286.1>] 108.95.144.117 - - GET /grimwire/_design/local/lib/linkjs-ext/router.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.24165.0>] 108.95.144.117 - - GET /grimwire/_design/local/lib/linkjs-ext/broadcaster.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.11928.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/client.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.4774.1>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/center-elem.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.8883.1>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/appserver.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.8572.1>] 108.95.144.117 - - GET /grimwire/_design/assets/bootstrap/js/bootstrap.min.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.6286.1>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/intents.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.24165.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/env/scripts.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.11928.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/_rewrite/grim/env/localstorage.js 400 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.4774.1>] 108.95.144.117 - - GET /grimwire/_design/grimwire/index.js 304 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.11928.0>] 108.95.144.117 - - GET /grimwire/_design/assets/_rewrite/icons/16x16/global_telecom.png 400 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.11928.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/_rewrite/ 400 [Tue, 12 Feb 2013 15:04:20 GMT] [info] [<0.11928.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/_rewrite/favicon.ico 400 [Tue, 12 Feb 2013 15:05:37 GMT] [info] [<0.32.0>] Apache CouchDB has started on http://0.0.0.0:80/ {code} here's another: {code} [Tue, 12 Feb 2013 15:10:43 GMT] [info] [<0.126.0>] 108.95.144.117 - - GET /grimwire/_design/assets/fontello/css/icons.css 304 [Tue, 12 Feb 2013 15:10:43 GMT] [info] [<0.157.0>] 108.95.144.117 - - GET /grimwire/_design/local/lib/environment.js 304 [Tue, 12 Feb 2013 15:10:43 GMT] [info] [<0.133.0>] 108.95.144.117 - - GET /grimwire/_design/local/lib/linkjs-ext/responder.js 304 [Tue, 12 Feb 2013 15:10:43 GMT] [info] [<0.212.0>] 108.95.144.117 - - GET /grimwire/_design/local/lib/linkjs-ext/router.js 304 [Tue, 12 Feb 2013 15:10:43 GMT] [info] [<0.158.0>] 108.95.144.117 - - GET /grimwire/_design/local/lib/linkjs-ext/broadcaster.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.128.0>] 108.95.144.117 - - GET /grimwire/_design/assets/bootstrap/js/bootstrap.min.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.126.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/client.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.157.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/center-elem.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.133.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/appserver.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.212.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/intents.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.158.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/env/scripts.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.128.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/grim/env/localstorage.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.126.0>] 108.95.144.117 - - GET /grimwire/_design/grimwire/index.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.126.0>] 108.95.144.117 - - GET /grimwire/_design/local/lib/worker_bootstrap.js 304 [Tue, 12 Feb 2013 15:10:44 GMT] [info] [<0.126.0>] 108.95.144.117 - - GET /grimwire/_design/local/lib/worker_httpl.js 304 [Tue, 12 Feb
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13576673#comment-13576673 ] Paul Frazee commented on COUCHDB-1651: -- Ah, that answers my question about whether I can reply directly to the email. Sorry about that-- I'll post to the issue tracker > 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 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13576407#comment-13576407 ] Benoit Chesneau commented on COUCHDB-1651: -- can you paste the debug log as well? It would help to figure when the first crash happen. > 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 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13576330#comment-13576330 ] Paul Frazee commented on COUCHDB-1651: -- Another update as I work on this. I removed all root-level rewrites. Here are my vhosts (I have multiple design documents in use): {code} grimwire.com/_browserid = /_browserid grimwire.com/local = /grimwire/_design/local/_rewrite grimwire.com/_changes = /grimwire/_changes grimwire.com/assets = /grimwire/_design/assets/_rewrite grimwire.com/email = /email/_design/email/_rewrite grimwire.com= /grimwire/_design/grimwire/_rewrite {code} And here are the four rewrite jsons: {code} [ { "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":"/types/:id", "to":"_show/type/_design/local", "query":{"type":":id"}, "method":"GET" }, { "from":"/apps/*", "to":"/apps/*" }, { "from":"/assets/*", "to":"/assets/*" }, { "from":"/docs/*", "to":"/docs/*" }, { "from":"/lib/*", "to":"/lib/*" } ] {code} [ { "from": "", "to": "index.html", "method": "GET" }, { "from": "index.html", "to": "index.html", "method": "GET" }, { "from": "index.css", "to": "index.css", "method": "GET" }, { "from": "index.js", "to": "index.js", "method": "GET" }, { "from": "grim/*", "to": "grim/*", "method": "GET" } ] {code} {code} [ { "from":"", "to":"_update/message", "method":"POST" }, { "from":"", "to":"../../", "method":"GET" }, { "from":"/:key", "to":"../../:key", "method":"GET" } ] {code} {code} [ { "from": "bootstrap/*", "to": "bootstrap/*" }, { "from": "fontello/*", "to": "fontello/*" }, { "from":"icons/*", "to": "icons/*" } ] {code} I got suspicious of my vhosts (because one application is root-level) so I moved that app to a subpath (grimwire.com/grim/). However, that didn't solve the problem. Usually, I can trigger the problem within 10-15 refreshes of a page (each of which triggers 35 asset 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 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13573107#comment-13573107 ] Paul Frazee commented on COUCHDB-1651: -- I should also mention, I spent some time hitting the routes on the alternative domain (with no vhost). However, despite hitting the _rewrite paths (and the recursive subpaths created by my globbed rule) the server continued functioning. I eventually experienced the bug again, but not until later in the evening. > 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 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13573079#comment-13573079 ] Jeff Charette commented on COUCHDB-1651: For what it is worth I started seeing this issue randomly when I pushed to production on iriscouch.com. The only difference between the environments is that I am running 1.2.0 locally and iriscouch is running 1.2.1. When this is triggered it slowly consumes random links across my whole app. Here are my rewrites: {code:title=rewrites|borderStyle=solid} module.exports = [ {from: '/menu/*', to: '../../../menu/*'}, {from: '/static/*', to: 'static/*'}, {from: '/img/*', to: '/static/img/*'}, {from: '/js/*', to: '/static/js/*'}, {from: '/css/*', to: '/static/css/*'}, {from: '/_*', to: '../../../_*'}, {from: '/modules.js', to: 'modules.js'}, {from: '/admin', to: '_show/form/create_doc'}, {from: '/query', to: '_list/query/by_type'}, {from: '/queryedit', to: '_list/queryedit/by_type'}, {from: '/edit/', to: '_list/edit/by_page', 'query': {'include_docs':'true', 'id':'index'}}, {from: '/edit/:page', to: '_list/edit/by_page', 'query': {'include_docs':'true', 'id':':page'}}, {from: '/', to: '_list/page/by_page', 'query': {'include_docs':'true', 'id':'index'}}, {from: '/:page', to: '_list/page/by_page', 'query': {'include_docs':'true', 'id':':page'}} ]; {code} > 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 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13559876#comment-13559876 ] Christopher Bonhage commented on COUCHDB-1651: -- Very interesting. I am also using a single wildcard in my rewrites to route all of my static resources from a '/static/' prefix in my design doc attachments. My couchapp is always accessed behind a vhost, so in my HTML I am linking to "/static/app.js", "/static/style.css", etc. > 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 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13559407#comment-13559407 ] Paul Frazee commented on COUCHDB-1651: -- Good find. I'll try to watch for a trigger, but I haven't been able to find any links which might hit that. I'm inclined to think a robot might be indexing it -- the site runs under two domains, and one of them serves without any vhosts (so I can get admin access). At any rate, I'm going to get around to writing a safer rule. > 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 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13559405#comment-13559405 ] Benoit Chesneau commented on COUCHDB-1651: -- I see a difference in your log: GET /grimwire/_design/assets/fontello/font/icons.woff 200 vs GET /grimwire/_design/assets/_rewrite/fontello/font/icons.woff 400 One is still using _rewrite something that shouldn't be at this point since you query it via the vhost. I suspect the recursion com rom here since the vhost + rewriter combinaison in the second case will do : 1. rewrite /grimwire/_design/assets/_rewrite/fontello/font/icons.woff to /grimwire/_design/assets/_rewrite/_rewrite/fontello/font/icons.woff 2. rewrite /grimwire/_design/assets/_rewrite/_rewrite/fontello/font/icons.woff /grimwire/_design/assets/_rewrite/_rewrite/_rewrite/fontello/font/icons.woff ... 2. happens since you are using a wildcard. Can you check in your html code which link do you call? - benoît > 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 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13559398#comment-13559398 ] Paul Frazee commented on COUCHDB-1651: -- I couldn't find anything in my windows 7 logs, but I'm experiencing the problem in my ubuntu server's install (couchdb 1.2, ubuntu 10.04, built using iris couch's builder and their browserid plugin), which is still running so I was able to note the time it occurs. Here are the logs from when it happens. The only evidence is the switch from 200s to 400s: [Tue, 22 Jan 2013 04:47:15 GMT] [info] [<0.218.3>] 127.0.0.1 - - GET /grimwire/_design/grimwire 200 [Tue, 22 Jan 2013 04:47:15 GMT] [info] [<0.218.3>] 127.0.0.1 - - PUT /grimwire/_design/grimwire 201 [Tue, 22 Jan 2013 04:47:16 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/grimwire/index.html 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.28837.2>] 70.113.196.4 - - GET /grimwire/_design/grimwire/index.css 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.29945.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/myhouse.js 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.28838.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/common-client.js 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/link.js 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.30303.2>] 70.113.196.4 - - GET /grimwire/_design/assets/bootstrap/css/bootstrap.css 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.30300.2>] 70.113.196.4 - - GET /grimwire/_design/assets/fontello/css/icons.css 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.29945.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/environment.js 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/linkjs-ext/responder.js 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.28838.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/linkjs-ext/router.js 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.30303.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/linkjs-ext/broadcaster.js 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.29945.2>] 70.113.196.4 - - GET /grimwire/_design/grimwire/index.js 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.30300.2>] 70.113.196.4 - - GET /grimwire/_design/assets/bootstrap/js/bootstrap.min.js 200 [Tue, 22 Jan 2013 04:47:17 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/assets/fontello/font/icons.woff 200 [Tue, 22 Jan 2013 04:48:46 GMT] [info] [<0.405.3>] 127.0.0.1 - - HEAD /grimwire 200 [Tue, 22 Jan 2013 04:48:46 GMT] [info] [<0.406.3>] 127.0.0.1 - - GET /grimwire/_design/grimwire 200 [Tue, 22 Jan 2013 04:48:46 GMT] [info] [<0.406.3>] 127.0.0.1 - - PUT /grimwire/_design/grimwire 201 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/grimwire/index.html 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/local/_rewrite/lib/link.js 400 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.28838.2>] 70.113.196.4 - - GET /grimwire/_design/grimwire/index.css 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.29945.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/common-client.js 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.28837.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/myhouse.js 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.30300.2>] 70.113.196.4 - - GET /grimwire/_design/assets/fontello/css/icons.css 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.30303.2>] 70.113.196.4 - - GET /grimwire/_design/assets/bootstrap/css/bootstrap.css 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.29945.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/environment.js 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.28837.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/linkjs-ext/responder.js 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.30300.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/linkjs-ext/router.js 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.30303.2>] 70.113.196.4 - - GET /grimwire/_design/local/lib/linkjs-ext/broadcaster.js 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.30300.2>] 70.113.196.4 - - GET /grimwire/_design/grimwire/index.js 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.29945.2>] 70.113.196.4 - - GET /grimwire/_design/assets/bootstrap/js/bootstrap.min.js 200 [Tue, 22 Jan 2013 04:48:47 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/assets/_rewrite/fontello/font/icons.woff 400 [Tue, 22 Jan 2013 04:48:48 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/assets/_rewrite/fontello/font/icons.ttf 400 [Tue, 22 Jan 2013 04:48:48 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/assets/_rewrite/fontello/font/icons.svg 400 [Tue, 22 Jan 2013 04:48:54 GMT] [info] [<0.29280.2>] 70.113.196.4 - - GET /grimwire/_design/grimwire/_rewrite/ 400 [T
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13559035#comment-13559035 ] Benoit Chesneau commented on COUCHDB-1651: -- Do you have any logs ? > 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 > > 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
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13558956#comment-13558956 ] Christopher Bonhage commented on COUCHDB-1651: -- +1, also seeing this randomly (unable to consistently reproduce) on OS X and Linux hosts with 1.3.x and master. > 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 > > 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