[ https://issues.apache.org/jira/browse/COUCHDB-598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Davies resolved COUCHDB-598. ---------------------------------- Resolution: Won't Fix > _show without docid returns 500 instead of 404 > ---------------------------------------------- > > Key: COUCHDB-598 > URL: https://issues.apache.org/jira/browse/COUCHDB-598 > Project: CouchDB > Issue Type: Bug > Components: HTTP Interface > Affects Versions: 0.10 > Environment: Ubuntu Karmic > Reporter: Markus > Priority: Minor > > See also the thread on the mailing list::http://www.mail-archive.com/user@couchdb.apache.org/msg05633.html and especially the following quote from Chris Anderson :" The change would be simple, just remove a catch clause on couch_httpd_show.erl line 81." > Original message below: > ------ > According to > http://books.couchdb.org/relax/design-documents/shows#Querying%20Show% > 20Functions i should receive an HTTP 404 Not Found response, instead i > get a HTTP 500 Internal Server Error. I am unsure as of yet whether i am > doing something wrong or if i should file a bug report for this one. > Here are my two documents in my test database named shows: > { > "_id": "_design/test", > "_rev": "1-21a6d69070ae4bec3e9f14fbb7f93201", > "shows": { > "summary": "function (doc, req) { return > '

'+doc.title+'

'+doc.body+'

'; } " > } > } > and > { > "_id": "bd108c433aedaa1bd2def0ec85e59a0d", > "_rev": "3-5a031adf97aabe4888b9bfb94ba28d13", > "title": "title", > "body": "body text" > } > I receive proper results using the following HTTP GET request > http://zealand:5984/shows/_design/test/_show/summary/bd108c433aedaa1bd2def0ec85e59a0d > - code : 200 > - body :

title

body text

> Now consider querying the same show function with a non-existing > document id > http://zealand:5984/shows/_design/test/_show/summary/404 > - code 500 > - body {"error":"normal","reason":"{gen_server,call,\n > [couch_query_servers,\n {ret_proc,{proc,<0.1481.0>,<< > \"javascript\">>,\n > {couch_os_process,prompt},\n > {couch_os_process,set_timeout},\n > {couch_os_process,stop}}}]}"} > Here is the output in the couch.log file: > [Tue, 01 Dec 2009 10:31:37 GMT] [debug] [<0.1594.0>] OAuth Params: [] > [Tue, 01 Dec 2009 10:31:37 GMT] [info] [<0.1726.0>] OS Process :: > function raised error: TypeError: doc is null > [Tue, 01 Dec 2009 10:31:37 GMT] [info] [<0.1726.0>] OS Process :: > stacktrace: (null,[object Object])@:0 > runShow(function (doc, req) {return "

" + doc.title + "

" + > doc.body + "

";},null,[object Object],"function (doc, req) { return > '

'+doc.title+'

'+doc.body+'

'; } > ")@/usr/share/couchdb/server/main.js:388 > ("function (doc, req) { return '

'+doc.title+'

'+doc.body > +'

'; } ",null,[object Object])@/usr/share/couchdb/server/main.js:358 > @/usr/share/couchdb/server/main.js:842 > [Tue, 01 Dec 2009 10:31:37 GMT] [error] [<0.1594.0>] OS Process Error :: > {render_error,{[{<<"body">>, > <<"

Render > Error

JavaScript function raised error: TypeError: doc is > null

Stacktrace:

(null,[object Object])@:0
> \nrunShow(function (doc, req) {return \"<h1>\" + doc.title +
> \"</h1><p>\" + doc.body + \"</p>\";},null,[object
> Object],\"function (doc, req) { return '<h1>'+doc.title
> +'</h1><p>'+doc.body+'</p>'; }
> \")@/usr/share/couchdb/server/main.js:388\n(\"function (doc, req)
> { return '<h1>'+doc.title+'</h1><p>'+doc.body
> +'</p>'; } \",null,[object
> Object])@/usr/share/couchdb/server/main.js:358
> \n@/usr/share/couchdb/server/main.js:842\n

Function > source:

function (doc, req) { return
> '<h1>'+doc.title+'</h1><p>'+doc.body+'</p>'; }
> 
">>}]}} > [Tue, 01 Dec 2009 10:31:37 GMT] [debug] [<0.1628.0>] Unknown linked > process died: <0.1726.0> (reason: normal) > [Tue, 01 Dec 2009 10:31:37 GMT] [error] [<0.53.0>] > {error_report,<0.24.0>, > {<0.53.0>,supervisor_report, > [{supervisor,{local,couch_secondary_services}}, > {errorContext,child_terminated}, > {reason,normal}, > {offender,[{pid,<0.1628.0>}, > {name,query_servers}, > {mfa,{couch_query_servers,start_link,[]}}, > {restart_type,permanent}, > {shutdown,brutal_kill}, > {child_type,worker}]}]}} > [Tue, 01 Dec 2009 10:31:37 GMT] [error] [<0.1594.0>] Uncaught error in > HTTP request: {exit, > {normal, > {gen_server,call, > [couch_query_servers, > {ret_proc, > {proc,<0.1726.0>,<<"javascript">>, > {couch_os_process,prompt}, > {couch_os_process,set_timeout}, > {couch_os_process,stop}}}]}}} > [Tue, 01 Dec 2009 10:31:37 GMT] [info] [<0.1594.0>] Stacktrace: > [{gen_server,call,2}, > {couch_query_servers,ret_os_process,1}, > {couch_query_servers,render_doc_show,6}, > {couch_httpd_show,'-send_doc_show_response/6-fun-0-',6}, > {couch_httpd_db,do_db_req,2}, > {couch_httpd,handle_request,5}, > {mochiweb_http,headers,5}, > {proc_lib,init_p_do_apply,3}] > [Tue, 01 Dec 2009 10:31:37 GMT] [debug] [<0.1594.0>] httpd 500 error > response: > {"error":"normal","reason":"{gen_server,call,\n > [couch_query_servers,\n {ret_proc,{proc,<0.1726.0>,<< > \"javascript\">>,\n > {couch_os_process,prompt},\n > {couch_os_process,set_timeout},\n > {couch_os_process,stop}}}]}"} > [Tue, 01 Dec 2009 10:31:37 GMT] [info] [<0.1594.0>] 192.168.218.87 - - > 'GET' /shows/_design/test/_show/summary/404 50 > I am using CouchDB 0.10.0 from Ubuntu Karmic's repository. Any > assistance is much appreciated. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.