)]}'
{"test/unit/proxy/test_server.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d4358cb73d38474cdff91a4db2e98d7fb21875c6","unresolved":false,"context_lines":[{"line_number":2133,"context_line":"        error_lines \u003d prosrv.logger.get_lines_for_level(\u0027error\u0027)"},{"line_number":2134,"context_line":"        warn_lines \u003d prosrv.logger.get_lines_for_level(\u0027warning\u0027)"},{"line_number":2135,"context_line":"        self.assertEquals(len(error_lines), 0)  # sanity"},{"line_number":2136,"context_line":"        self.assertEquals(len(warn_lines), 0)  # sanity"},{"line_number":2137,"context_line":""},{"line_number":2138,"context_line":"    @unpatch_policies"},{"line_number":2139,"context_line":"    def test_GET_ec_big(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_b8017c08","line":2136,"updated":"2015-08-25 13:59:05.000000000","message":"these assertions do not fail if the fix in base.py is reverted, because the object body is not read, so the StopIteration is never raised.","commit_id":"58170adbf79bc2b9ca900d1f77b52e6f3159699c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d4358cb73d38474cdff91a4db2e98d7fb21875c6","unresolved":false,"context_lines":[{"line_number":5433,"context_line":"        self.assertEqual(headers[:len(exp)], exp)"},{"line_number":5434,"context_line":""},{"line_number":5435,"context_line":"        # create object"},{"line_number":5436,"context_line":"        obj \u003d \u0027a\u0027 * 4 * 64 * 2 ** 10"},{"line_number":5437,"context_line":"        fd.write(\u0027PUT /v1/a/ec-discon/test HTTP/1.1\\r\\n\u0027"},{"line_number":5438,"context_line":"                 \u0027Host: localhost\\r\\n\u0027"},{"line_number":5439,"context_line":"                 \u0027Content-Length: %d\\r\\n\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_ea75d7ca","line":5436,"updated":"2015-08-25 13:59:05.000000000","message":"yup looks like this object has to be large enough to consume \u003e\u003d1 segment ie \u003e\u003d 2 x 4096. I guess because otherwise the proxy EC reconstruction always consumes the entire response iterator before the client disconnects??","commit_id":"58170adbf79bc2b9ca900d1f77b52e6f3159699c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d4358cb73d38474cdff91a4db2e98d7fb21875c6","unresolved":false,"context_lines":[{"line_number":5462,"context_line":"        sock.close()"},{"line_number":5463,"context_line":"        sleep(0)"},{"line_number":5464,"context_line":""},{"line_number":5465,"context_line":"        # check for disconnect Ressage!"},{"line_number":5466,"context_line":"        expected \u003d [\u0027Client disconnected on read\u0027] * 2"},{"line_number":5467,"context_line":"        self.assertEqual("},{"line_number":5468,"context_line":"            _test_servers[0].logger.get_lines_for_level(\u0027warning\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_8d48f55d","line":5465,"updated":"2015-08-25 13:59:05.000000000","message":"typo: Ressage -\u003e message","commit_id":"58170adbf79bc2b9ca900d1f77b52e6f3159699c"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"96f670c13a1221f207a33ea6c2dff250c9c7f44e","unresolved":false,"context_lines":[{"line_number":5468,"context_line":"        # check for disconnect message!"},{"line_number":5469,"context_line":"        expected \u003d [\u0027Client disconnected on read\u0027] * 2"},{"line_number":5470,"context_line":"        self.assertEqual("},{"line_number":5471,"context_line":"            _test_servers[0].logger.get_lines_for_level(\u0027warning\u0027),"},{"line_number":5472,"context_line":"            expected)"},{"line_number":5473,"context_line":""},{"line_number":5474,"context_line":"    @unpatch_policies"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_297e5daf","line":5471,"updated":"2015-08-26 03:13:31.000000000","message":"why is it logged twice?!","commit_id":"17efa343c605d0361b3f423696babbab3f3d972d"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"911ebb56bc23881fc6c2b1b85caf42789db62a1b","unresolved":false,"context_lines":[{"line_number":5468,"context_line":"        # check for disconnect message!"},{"line_number":5469,"context_line":"        expected \u003d [\u0027Client disconnected on read\u0027] * 2"},{"line_number":5470,"context_line":"        self.assertEqual("},{"line_number":5471,"context_line":"            _test_servers[0].logger.get_lines_for_level(\u0027warning\u0027),"},{"line_number":5472,"context_line":"            expected)"},{"line_number":5473,"context_line":""},{"line_number":5474,"context_line":"    @unpatch_policies"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_0d4f8193","line":5471,"in_reply_to":"fa1b9901_0c37e7ff","updated":"2015-08-26 16:55:38.000000000","message":"I figured it was once for each backend GET - the module policies use a 2+1 EC so there are two fragment GETs??\n\nnow I\u0027m not sure ?!?","commit_id":"17efa343c605d0361b3f423696babbab3f3d972d"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"7b560189599d789b0c46ead7229708e48b60982c","unresolved":false,"context_lines":[{"line_number":5468,"context_line":"        # check for disconnect message!"},{"line_number":5469,"context_line":"        expected \u003d [\u0027Client disconnected on read\u0027] * 2"},{"line_number":5470,"context_line":"        self.assertEqual("},{"line_number":5471,"context_line":"            _test_servers[0].logger.get_lines_for_level(\u0027warning\u0027),"},{"line_number":5472,"context_line":"            expected)"},{"line_number":5473,"context_line":""},{"line_number":5474,"context_line":"    @unpatch_policies"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_0c37e7ff","line":5471,"in_reply_to":"fa1b9901_297e5daf","updated":"2015-08-26 03:56:27.000000000","message":"I guess both GetOrHeadHandler (at upper response instance) and ResumingGetter (at ECAppIter instance) logged it.\n\nIf we need this just only once, we can do like [1] to suppress any other GeneratorExit logging.\n\n1: http://paste.openstack.org/show/427742/","commit_id":"17efa343c605d0361b3f423696babbab3f3d972d"}]}
