Issue 125 in couchdb-python: Software caused connection abort

11 views
Skip to first unread message

couchdb...@googlecode.com

unread,
May 11, 2010, 4:43:55 AM5/11/10
to couchdb...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 125 by senyai: Software caused connection abort
http://code.google.com/p/couchdb-python/issues/detail?id=125

What steps will reproduce the problem?

Any request to couchdb after some period of time

What is the expected output? What do you see instead?
expected: data
instead: socket.error file 'http.py' line 'return conn.getresponse()'


What version of the product are you using? On what operating system?

Windows XP SP3, python 2.5, couchdb version 0.11.0

Please provide any additional information below.

Adding errno.ECONNABORTED in the following line worked for me.
if retries > 0 and ecode in [errno.ECONNRESET, errno.ECONNABORTED,
errno.EPIPE]:


--
You received this message because you are subscribed to the Google Groups "CouchDB-Python" group.
To post to this group, send email to couchdb...@googlegroups.com.
To unsubscribe from this group, send email to couchdb-pytho...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/couchdb-python?hl=en.

couchdb...@googlecode.com

unread,
May 12, 2010, 9:56:20 PM5/12/10
to couchdb...@googlegroups.com

Comment #1 on issue 125 by kxepal: Software caused connection abort
http://code.google.com/p/couchdb-python/issues/detail?id=125

Connection aborting is normal behavior for socket connection. But I
couldn't see any
reasons why couchdb-python doesn't take any attempt to retry request for
this situation.

+1 for this issue.

couchdb...@googlecode.com

unread,
May 12, 2010, 10:14:42 PM5/12/10
to couchdb...@googlegroups.com

Comment #2 on issue 125 by james.bergstra: Software caused connection abort
http://code.google.com/p/couchdb-python/issues/detail?id=125

This is just one of many cases that I added in my retry fork of this
project. I also made retrying more robust by
adding an optional retry schedule. In practice I find the schedule and the
increased robustness very useful, but I
admit that the interface looks non-standard. Comments on how to bring a
robust retry heuristic in line with
common practice would be appreciated.

http://code.google.com/r/jamesbergstra-couchdb-python-with-retry/source/browse

couchdb...@googlecode.com

unread,
May 20, 2010, 10:06:39 AM5/20/10
to couchdb...@googlegroups.com
Updates:
Status: Fixed

Comment #3 on issue 125 by matt.goodall: Software caused connection abort
http://code.google.com/p/couchdb-python/issues/detail?id=125

ECONNABORTED is a default retryable error as of revision 74073207e8. That,
coupled
with James's retry_delays (revision adcaeede26) should allow you to
configure the HTTP
layer to cope with these sorts of glitches.

As for retry heuristics ... a list of timeouts is a good first step. We can
now easily
allow retry_delays to be a callable that generates the retry delays to cope
with
anything more custom.
Reply all
Reply to author
Forward
0 new messages