Python の error: [Errno 32] Broken pipe について

Google App Engine Python でアプリを作って動かしていたら、たまにコンソール上で error: [Errno 32] Broken pipe って出てくるので一応調べてみました。

Exception happened during processing of request from ('127.0.0.1', 59250)
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 283, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 309, in process_request
    self.finish_request(request, client_address)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 322, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 2564, in __init__
    BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 618, in __init__
    self.finish()
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 661, in finish
    self.wfile.flush()
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py", line 297, in flush
    self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 32] Broken pipe

調べた結果、どうやらエラーの原因は、データ転送中にクライアント側(主にブラウザ)のコネクションが切れてしまったことによるものだそうです。なるほど。確かに memcache の検証で F5 押しまくってたら出てきたので、あんまり無茶はすんなってことですね。