
_make_app_iter_reader uses a queue to pass read data to _make_app_iter, and uses an empty string as a terminator. The problem is that it pushes the same terminator even if it fails to reads the data. If an exception happens before pushing all data to the queue, _make_app_iter exits without yielding all data. In that case, proxy-server stops in the middle of sending data, and a client waits for all data to come infinitely. This patch uses a boolean value for the terminator instead of an empty string to distinguish the results, and raises an exception in the error cases. Fixes bug 890888. Change-Id: Ie4d48025843aa1bb600446da6f4fc49f82a440bf
Swift ----- A distributed object store that was originally developed as the basis for Rackspace's Cloud Files. To build documentation run `python setup.py build_sphinx`, and then browse to /doc/build/html/index.html. The best place to get started is the "SAIO - Swift All In One", which will walk you through setting up a development cluster of Swift in a VM. For more information, visit us at http://launchpad.net/swift, or come hang out on our IRC channel, #openstack on freenode. -- Swift Development Team
Description
Languages
Python
99.6%
JavaScript
0.3%