boto を使用して Amazon S3 から多くのファイルを読み取るデーモンがいくつかあります。数日に一度、 httplib.IncompleteRead が boto の奥深くから投げ出される状況に遭遇しています。リクエストを再試行すると、別の IncompleteRead ですぐに失敗します。を呼び出してもbucket.connection.close()
、それ以降のすべてのリクエストはエラーになります。
ここで boto のバグに出くわしたような気がしますが、他に誰もヒットしていないようです。私は何か間違ったことをしていますか?is_secure
すべてのデーモンはシングルスレッドであり、両方の方法で設定しようとしました。
Traceback (most recent call last):
...
File "<file_wrapper.py",> line 22, in next
line = self.readline()
File "<file_wrapper.py",> line 37, in readline
data = self.fh.read(self.buffer_size)
File "<virtualenv/lib/python2.6/site-packages/boto/s3/key.py",> line 378, in read
self.close()
File "<virtualenv/lib/python2.6/site-packages/boto/s3/key.py",> line 349, in close
self.resp.read()
File "<virtualenv/lib/python2.6/site-packages/boto/connection.py",> line 411, in read
self._cached_response = httplib.HTTPResponse.read(self)
File "/usr/lib/python2.6/httplib.py", line 529, in read
s = self._safe_read(self.length)
File "/usr/lib/python2.6/httplib.py", line 621, in _safe_read
raise IncompleteRead(''.join(s), amt)
環境:
- アマゾン EC2
- Ubuntu 11.10
- パイソン 2.6.7
- ボト 2.12.0