)]}'
{"swift/obj/replicator.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1312e2616fd44df29dd45d60191e91d70905186b","unresolved":false,"context_lines":[{"line_number":677,"context_line":"                                remote_hash.get(suffix, -1)]"},{"line_number":678,"context_line":"                    if not suffixes:"},{"line_number":679,"context_line":"                        stats.hashmatch +\u003d 1"},{"line_number":680,"context_line":"                        continue"},{"line_number":681,"context_line":"                    hashed, recalc_hash \u003d tpool.execute("},{"line_number":682,"context_line":"                        df_mgr._get_hashes,"},{"line_number":683,"context_line":"                        job[\u0027device\u0027], job[\u0027partition\u0027], job[\u0027policy\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_a37ea8ac","line":680,"updated":"2020-07-20 16:07:22.000000000","message":"so normally when we see remote\u0027s suffixes match all our locals we bail","commit_id":"907942eb4743e5a4213b1f84fd57a58386594bb6"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1312e2616fd44df29dd45d60191e91d70905186b","unresolved":false,"context_lines":[{"line_number":681,"context_line":"                    hashed, recalc_hash \u003d tpool.execute("},{"line_number":682,"context_line":"                        df_mgr._get_hashes,"},{"line_number":683,"context_line":"                        job[\u0027device\u0027], job[\u0027partition\u0027], job[\u0027policy\u0027],"},{"line_number":684,"context_line":"                        recalculate\u003dsuffixes)"},{"line_number":685,"context_line":"                    self.logger.update_stats(\u0027suffix.hashes\u0027, hashed)"},{"line_number":686,"context_line":"                    local_hash \u003d recalc_hash"},{"line_number":687,"context_line":"                    suffixes \u003d [suffix for suffix in local_hash if"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_a357c826","line":684,"updated":"2020-07-20 16:07:22.000000000","message":"and this makes sense - we recalc our local suffixes to try and minimize a race","commit_id":"907942eb4743e5a4213b1f84fd57a58386594bb6"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1312e2616fd44df29dd45d60191e91d70905186b","unresolved":false,"context_lines":[{"line_number":689,"context_line":"                                remote_hash.get(suffix, -1)]"},{"line_number":690,"context_line":"                    if not suffixes:"},{"line_number":691,"context_line":"                        stats.hashmatch +\u003d 1"},{"line_number":692,"context_line":"                        continue"},{"line_number":693,"context_line":"                    stats.rsync +\u003d 1"},{"line_number":694,"context_line":"                    success, _junk \u003d self.sync(node, job, suffixes)"},{"line_number":695,"context_line":"                    with Timeout(self.http_timeout):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_e32ee0a9","line":692,"updated":"2020-07-20 16:07:22.000000000","message":"so if the race detection *works* - we mirror the behavior when the first check matches... that seems reasonbale?","commit_id":"907942eb4743e5a4213b1f84fd57a58386594bb6"}],"test/unit/obj/test_replicator.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1312e2616fd44df29dd45d60191e91d70905186b","unresolved":false,"context_lines":[{"line_number":2041,"context_line":"            (1, {\u0027a83\u0027: \u0027c130a2c17ed45102aada0f4eee69494ff\u0027}),"},{"line_number":2042,"context_line":"        ]"},{"line_number":2043,"context_line":"        self.replicator.update(local_job)"},{"line_number":2044,"context_line":"        self.assertEqual(fake_sync.call_count, 0)"},{"line_number":2045,"context_line":"        self.assertEqual(mock_http.call_count, 2)"},{"line_number":2046,"context_line":"        stats \u003d self.replicator.total_stats"},{"line_number":2047,"context_line":"        self.assertEqual(stats.attempted, 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_e3170054","line":2044,"updated":"2020-07-20 16:07:22.000000000","message":"noice.","commit_id":"907942eb4743e5a4213b1f84fd57a58386594bb6"}]}
