)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"2f329e6208e379e7f953821a62a096e43606bfba","unresolved":false,"context_lines":[{"line_number":7,"context_line":"tests: bust md5 of object not footers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test test_PUT_ec_fragment_quorum_archive_etag_mismatch"},{"line_number":10,"context_line":"busts the md5 in server.py, so it ends damaging the md5 of"},{"line_number":11,"context_line":"footers instead of the fragment archive. It appears that the"},{"line_number":12,"context_line":"intention of the test was to check the integrity verification"},{"line_number":13,"context_line":"for fragment archive, so change the test to bust diskfile.py"},{"line_number":14,"context_line":"instead."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dfbec78f_ec568c2a","line":11,"range":{"start_line":10,"start_character":39,"end_line":11,"end_character":7},"updated":"2019-05-14 17:12:40.000000000","message":"Do we have a test for a mismatched footer checksum?","commit_id":"5407fdbdd936f00e5df55cad645d4c0b73b3140d"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"1d7d2e10fef68ac93dc0fc1e2bb9fa1ac3f59257","unresolved":false,"context_lines":[{"line_number":7,"context_line":"tests: bust md5 of object not footers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test test_PUT_ec_fragment_quorum_archive_etag_mismatch"},{"line_number":10,"context_line":"busts the md5 in server.py, so it ends damaging the md5 of"},{"line_number":11,"context_line":"footers instead of the fragment archive. It appears that the"},{"line_number":12,"context_line":"intention of the test was to check the integrity verification"},{"line_number":13,"context_line":"for fragment archive, so change the test to bust diskfile.py"},{"line_number":14,"context_line":"instead."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dfbec78f_a58bc71c","line":11,"range":{"start_line":10,"start_character":39,"end_line":11,"end_character":7},"in_reply_to":"dfbec78f_ec568c2a","updated":"2019-05-14 19:59:58.000000000","message":"I don\u0027t see one, aside from the subject of this commit. Probably better add one, but well... too lazy and all that.","commit_id":"5407fdbdd936f00e5df55cad645d4c0b73b3140d"}],"test/unit/proxy/test_server.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"53613780ba4ce278e9598cea24b18fe207e7eca2","unresolved":false,"context_lines":[{"line_number":6161,"context_line":"        exp \u003d \u0027HTTP/1.1 503\u0027  # no quorum"},{"line_number":6162,"context_line":"        self.assertEqual(headers[:len(exp)], exp)"},{"line_number":6163,"context_line":"        # Don\u0027t send commit to object-server if quorum responses consist of 4xx"},{"line_number":6164,"context_line":"        self.assertEqual(0, call_count[0])"},{"line_number":6165,"context_line":""},{"line_number":6166,"context_line":"        # no fragment archives should have landed on disk"},{"line_number":6167,"context_line":"        partition, nodes \u003d prosrv.get_object_ring(3).get_nodes("}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_760df58e","line":6164,"updated":"2019-10-05 04:27:22.000000000","message":"So the mem_server test bombs out *here*... which must mean the object-server didn\u0027t 400?\n\nOh! The patching!","commit_id":"5407fdbdd936f00e5df55cad645d4c0b73b3140d"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"2f329e6208e379e7f953821a62a096e43606bfba","unresolved":false,"context_lines":[{"line_number":6175,"context_line":"                                     \u0027a\u0027, \u0027ec-con\u0027, \u0027quorum\u0027,"},{"line_number":6176,"context_line":"                                     policy\u003dself.ec_policy)"},{"line_number":6177,"context_line":"            if os.path.exists(df._datadir):"},{"line_number":6178,"context_line":"                self.assertFalse(os.listdir(df._datadir))  # should be empty"},{"line_number":6179,"context_line":""},{"line_number":6180,"context_line":"    def test_PUT_ec_fragment_quorum_bad_request(self):"},{"line_number":6181,"context_line":"        self.put_container(\"ec\", \"ec-con\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_ef199e79","line":6178,"updated":"2019-05-14 17:12:40.000000000","message":"Are there any other sorts of assertions we could make to verify when communication broke down? I\u0027m not entirely satisfied with the fact that this passes whether we break the data checksum or the footer checksum...","commit_id":"5407fdbdd936f00e5df55cad645d4c0b73b3140d"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"38eb86570533e9c3de2254d2fb5a80726e6fa3b3","unresolved":false,"context_lines":[{"line_number":6175,"context_line":"                                     \u0027a\u0027, \u0027ec-con\u0027, \u0027quorum\u0027,"},{"line_number":6176,"context_line":"                                     policy\u003dself.ec_policy)"},{"line_number":6177,"context_line":"            if os.path.exists(df._datadir):"},{"line_number":6178,"context_line":"                self.assertFalse(os.listdir(df._datadir))  # should be empty"},{"line_number":6179,"context_line":""},{"line_number":6180,"context_line":"    def test_PUT_ec_fragment_quorum_bad_request(self):"},{"line_number":6181,"context_line":"        self.put_container(\"ec\", \"ec-con\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_366c5d35","line":6178,"in_reply_to":"dfbec78f_ef199e79","updated":"2019-10-05 04:35:22.000000000","message":"This is closely related to PUT+POST not having any footer checksums, because the former footer is now a header of POST. It is a principal fault with that design and how I found this. Maybe make it so the former footers are delivered as a request body for the POST instead of HTTP headers?","commit_id":"5407fdbdd936f00e5df55cad645d4c0b73b3140d"}]}
