)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"89838fa456aba11e1484b551eb8b4b7adb5e6c1b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Tim Burke \u003ctim.burke@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-06-02 16:53:52 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"sharding: Raise fewer errors when the on-disk files change out from under us"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We\u0027ve occasionally seen probe tests drop logs like"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff570b3c_608a1864","line":7,"range":{"start_line":7,"start_character":10,"end_line":7,"end_character":28},"updated":"2020-06-04 05:17:21.000000000","message":"I made no guarantees about getting rid of *all* of them :P","commit_id":"a4c0b4972c23ae761928eef5fb7f9060b6614cb2"}],"swift/container/backend.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"138ec43134f799b28e61d881965707c6e919c01c","unresolved":false,"context_lines":[{"line_number":888,"context_line":"            else:"},{"line_number":889,"context_line":"                stats \u003d {\u0027object_count\u0027: other_info[\u0027object_count\u0027],"},{"line_number":890,"context_line":"                         \u0027bytes_used\u0027: other_info[\u0027bytes_used\u0027]}"},{"line_number":891,"context_line":"                return state, stats"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"        if state \u003d\u003d SHARDED and self.is_root_container():"},{"line_number":894,"context_line":"            return state, self.get_shard_usage()"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_678518ad","line":891,"updated":"2020-06-03 17:34:59.000000000","message":"this isn\u0027t obvious to me (maybe the cylomatic complexity?) - and I feel like this \"stale on-disk file brain\" problem can happen essentially anywhere?","commit_id":"a4c0b4972c23ae761928eef5fb7f9060b6614cb2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"89838fa456aba11e1484b551eb8b4b7adb5e6c1b","unresolved":false,"context_lines":[{"line_number":888,"context_line":"            else:"},{"line_number":889,"context_line":"                stats \u003d {\u0027object_count\u0027: other_info[\u0027object_count\u0027],"},{"line_number":890,"context_line":"                         \u0027bytes_used\u0027: other_info[\u0027bytes_used\u0027]}"},{"line_number":891,"context_line":"                return state, stats"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"        if state \u003d\u003d SHARDED and self.is_root_container():"},{"line_number":894,"context_line":"            return state, self.get_shard_usage()"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_2094a08a","line":891,"in_reply_to":"ff570b3c_678518ad","updated":"2020-06-04 05:17:21.000000000","message":"So we have a similar self.get_brokers()[0] in find_shard_ranges(), but there we should be pretty safe; we should have recently created the new DB file and not even started cleaving, so nothing should touch the big DB.\n\nThinking about it a bit, once we\u0027ve actually recorded that final shard as being cleaved, we should *only* be looking to the old DB for stats; I *think* this might be mostly sufficient. *Maybe* we need to worry a little about a listing request for the end of the namespace coming in, too, but it\u0027d need a wider window to be a problem.\n\nI agree that the logic\u0027s become a bit hard to follow -- I was hoping that the early returns would maybe help, but idk, it\u0027s a bit of a mess :-(","commit_id":"a4c0b4972c23ae761928eef5fb7f9060b6614cb2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"89838fa456aba11e1484b551eb8b4b7adb5e6c1b","unresolved":false,"context_lines":[{"line_number":2177,"context_line":"            last_shard_upper \u003d own_shard_range.lower"},{"line_number":2178,"context_line":""},{"line_number":2179,"context_line":"        found_ranges \u003d []"},{"line_number":2180,"context_line":"        sub_broker \u003d self.get_brokers()[0]"},{"line_number":2181,"context_line":"        index \u003d len(existing_ranges)"},{"line_number":2182,"context_line":"        while limit is None or limit \u003c 0 or len(found_ranges) \u003c limit:"},{"line_number":2183,"context_line":"            if progress + shard_size \u003e\u003d object_count:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_808f6c73","line":2180,"updated":"2020-06-04 05:17:21.000000000","message":"Here","commit_id":"a4c0b4972c23ae761928eef5fb7f9060b6614cb2"}]}
