10

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
4

3 に答える 3