couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Anderson (JIRA)" <>
Subject [jira] Commented: (COUCHDB-452) couch logs an [error] record if a client disconnects
Date Thu, 06 Aug 2009 15:45:14 GMT


Chris Anderson commented on COUCHDB-452:

The special case matches were added one at a time, because those are two special cases where
having a stacktrace in the logs can help with debugging on the ML and IRC.

However, the general matcher now logs a stacktrace just the same as they did, so it's fine
to let the general case handle them. (I guess we finally got few enough errors coming from
deep within CouchDB that a stacktrace on any uncaught error works fine.)

Removing the special case matchers just cleans up the code and does not change functionality.

> couch logs an [error] record if a client disconnects
> ----------------------------------------------------
>                 Key: COUCHDB-452
>                 URL:
>             Project: CouchDB
>          Issue Type: Improvement
>            Reporter: Mark Hammond
>         Attachments: dont_log_error_on_disconnect.patch
> If a client makes a request which returns multiple rows (eg, a query) but disconnects
before reading the response, couch logs:
> [error] [<0.66.0>] Uncaught error in HTTP request: {exit,normal}
> [info] [<0.66.0>] Stacktrace: [{mochiweb_request,send,2},
>              {couch_httpd,send_chunk,2},
>              {couch_httpd_view,send_json_view_row,5},
>              {couch_httpd_view,'-make_view_fold_fun/6-fun-0-',12},
>              {couch_view,fold_fun,4},
>              {couch_btree,stream_kv_node2,7},
>              {couch_btree,stream_kp_node,7},
>              {couch_btree,fold,5}]
> This could lead someone to conclude couch has an error which is not correct.  A simple
[info] record recording the premature normal exit is probably more appropriate.
> FYI, the easiest way I found to repro this was to execute:
> % python -c "import urllib; urllib.urlopen('').close()"
> which causes Python to open a connection and close it without reading anything.  I'll
attach a patch as suggested generally by jchris.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message