couchdb resets connection while putting (big) doc
While doing some stress testing for the mailboxes, I noticed that mails with attachments over ~500K are getting lost. I got this from the logs.
on the client:
2013-12-18 16:46:53,694 - leap.mail.imap.fetch:fetch:L#153 - DEBUG - fetching mail for: 5a889ca639d1c0da8095257d56424b31 test_kk11@cdev.bitmask.net 2013-12-18 16:46:53,696 - leap:write:L#53 - DEBUG - 2013-12-18 16:46:53-0400 [-] syncing soledad... 2013-12-18 16:47:10,949 - leap.mail.imap.fetch:_sync_soledad_error:L#232 - ERROR - error syncing soledad: HTTPError(500) 2013-12-18 16:47:10,950 - leap.mail.imap.fetch:_sync_soledad_error:L#238 - WARNING - Unknown error while syncing soledad: HTTPError() 2013-12-18 16:47:10,950 - leap:write:L#53 - DEBUG - 2013-12-18 16:47:10-0400 [-] processing doclist 2013-12-18 16:47:10,951 - leap.mail.imap.fetch:_process_doclist:L#277 - DEBUG - no docs found
on the server:
Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py", line 172, in _worker result = context.call(ctx, function, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext return self.currentContext().callWithContext(ctx, func, *args, **kw) File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext return func(*args,**kw) File "/usr/lib/python2.7/dist-packages/twisted/web/wsgi.py", line 332, in run self.reactor.callFromThread(wsgiError, self.started, *exc_info()) --- --- File "/usr/lib/python2.7/dist-packages/twisted/web/wsgi.py", line 315, in run appIterator = self.application(self.environ, self.startResponse) File "/usr/lib/python2.7/dist-packages/leap/soledad/server/__init__.py", line 386, in application return application(environ, start_response) File "/usr/lib/python2.7/dist-packages/leap/soledad/server/gzip_middleware.py", line 53, in __call__ app_iter = self.app(environ, dummy_start_response) File "/usr/lib/python2.7/dist-packages/leap/soledad/server/auth.py", line 295, in __call__ return self._app(environ, start_response) File "/usr/lib/python2.7/dist-packages/leap/soledad/server/__init__.py", line 156, in __call__ return http_app.HTTPApp.__call__(self, environ, start_response) File "/usr/lib/python2.7/dist-packages/u1db/remote/http_app.py", line 581, in __call__ HTTPInvocationByMethodWithBody(resource, environ, self)() File "/usr/lib/python2.7/dist-packages/u1db/remote/http_app.py", line 550, in __call__ meth_entry({}, entry) File "/usr/lib/python2.7/dist-packages/u1db/remote/http_app.py", line 174, in wrapper return f(self, **args) File "/usr/lib/python2.7/dist-packages/u1db/remote/http_app.py", line 390, in post_stream_entry self.sync_exch.insert_doc_from_source(doc, gen, trans_id) File "/usr/lib/python2.7/dist-packages/u1db/sync.py", line 199, in insert_doc_from_source replica_trans_id=trans_id) File "/usr/lib/python2.7/dist-packages/leap/soledad/common/couch.py", line 954, in _put_doc_if_newer self._put_doc(cur_doc, doc) File "/usr/lib/python2.7/dist-packages/leap/soledad/common/couch.py", line 512, in _put_doc headers={'content-type': 'application/json'}) File "/usr/lib/pymodules/python2.7/couchdb/http.py", line 406, in put_json status, headers, data = self.put(*a, **k) File "/usr/lib/pymodules/python2.7/couchdb/http.py", line 385, in put return self._request('PUT', path, body=body, headers=headers, **params) File "/usr/lib/pymodules/python2.7/couchdb/http.py", line 420, in _request credentials=self.credentials) File "/usr/lib/pymodules/python2.7/couchdb/http.py", line 240, in request resp = _try_request_with_retries(iter(self.retry_delays)) File "/usr/lib/pymodules/python2.7/couchdb/http.py", line 205, in _try_request_with_retries raise e socket.error: [Errno 104] Connection reset by peer
(from redmine: created on 2013-12-18, closed on 2014-03-19)
- Relations:
- relates #3967 (closed)