Sander Dijkhuis created COUCHDB-1706: ----------------------------------------
Summary: function_clause error when querying views with cors
Key: COUCHDB-1706
URL: https://issues.apache.org/jira/browse/COUCHDB-1706
Project: CouchDB
Issue Type: Bug
Components: HTTP Interface
Reporter: Sander Dijkhuis
When querying views using the new cross-origin support, CouchDB sometimes
raises a function_clause error instead of returning the results. It doesn’t do
so consistently. For example, if the other-origin webpage makes two requests
after each other, one may work and the other may fail (in any order). I haven’t
seen this error yet when querying views without using cors. Rebuilding CouchDB,
remaking the databases or refreshing the views doesn’t work and the view itself
doesn’t do much that can go wrong:
{code:title=The view}
profiles: {
map: function(doc) {
if (doc.type && doc.type == 'profile') emit(doc.user, null);
}
}
{code}
I’m running CouchDB 1.3 commit 8be3ec0218873fa3516f564678dbd2c74ebb5246 with
build-couchdb commit fabf7c51c8c5b278b72ffe95f12915016f104996.
{code:title=The stacktrace}
[error] [<0.653.0>] function_clause error in HTTP request
[info] [<0.653.0>] Stacktrace: [{string,to_lower,
[undefined],
[{file,"string.erl"},{line,468}]},
{couch_httpd_cors,maybe_apply_cors_headers,2,
[{file,
"/home/sander/git/build-couchdb1.3/dependencies/couchdb/src/couchdb/couch_httpd_cors.erl"},
{line,219}]},
{couch_httpd,send_response,4,
[{file,
"/home/sander/git/build-couchdb1.3/dependencies/couchdb/src/couchdb/couch_httpd.erl"},
{line,704}]},
{couch_mrview_http,design_doc_view,5,
[{file,
"/home/sander/git/build-couchdb1.3/dependencies/couchdb/src/couch_mrview/src/couch_mrview_http.erl"},
{line,147}]},
{couch_httpd_db,do_db_req,2,
[{file,
"/home/sander/git/build-couchdb1.3/dependencies/couchdb/src/couchdb/couch_httpd_db.erl"},
{line,234}]},
{couch_httpd,handle_request_int,5,
[{file,
"/home/sander/git/build-couchdb1.3/dependencies/couchdb/src/couchdb/couch_httpd.erl"},
{line,329}]},
{mochiweb_http,headers,5,
[{file,
"/home/sander/git/build-couchdb1.3/dependencies/couchdb/src/mochiweb/mochiweb_http.erl"},
{line,136}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,227}]}]
[info] [<0.653.0>] 83.255.2.0 - - GET
/lunacy%2Fuser%2Fsander/_design/user/_view/profiles?include_docs=true&key=%22Bot%203%22&reduce=false
500
[error] [<0.653.0>] httpd 500 error response:
{"error":"unknown_error","reason":"function_clause"}
{code}
--
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
