)]}'
{"swift/common/db_replicator.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"b6fc423e9b6f1b8be0bab9a1133acff3bcdacf65","unresolved":false,"context_lines":[{"line_number":743,"context_line":"        part_count, work_iter \u003d self._find_replication_jobs("},{"line_number":744,"context_line":"            dirs, partitions_to_replicate)"},{"line_number":745,"context_line":"        self.part_count \u003d part_count  # used for periodic stats"},{"line_number":746,"context_line":"        stats_coro \u003d eventlet.spawn(self._report_periodic_stats)"},{"line_number":747,"context_line":"        for part, object_file, node_id in work_iter:"},{"line_number":748,"context_line":"            self.cpool.spawn_n("},{"line_number":749,"context_line":"                self._replicate_object, part, object_file, node_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_e8037b72","line":746,"updated":"2018-04-27 20:18:51.000000000","message":"YAS!","commit_id":"c6c7078abc58a180cc4344aa03f287bc77cebdb1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"1893e3fa1727c7f1421f97187088aac2e33d494b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                hash_dir \u003d os.path.join(suff_dir, hsh)"},{"line_number":105,"context_line":"                if not os.path.isdir(hash_dir):"},{"line_number":106,"context_line":"                    continue"},{"line_number":107,"context_line":"                # hashes \u003d os.listdir(suff_dir)"},{"line_number":108,"context_line":"                # if not hashes:"},{"line_number":109,"context_line":"                #     os.rmdir(suff_dir)"},{"line_number":110,"context_line":"                #     continue"},{"line_number":111,"context_line":"                # for hsh in hashes:"},{"line_number":112,"context_line":"                #     hash_dir \u003d os.path.join(suff_dir, hsh)"},{"line_number":113,"context_line":"                #     if not os.path.isdir(hash_dir):"},{"line_number":114,"context_line":"                #         continue"},{"line_number":115,"context_line":"                    # object_file \u003d os.path.join(hash_dir, hsh + \u0027.db\u0027)"},{"line_number":116,"context_line":"                    # # common case"},{"line_number":117,"context_line":"                    # if os.path.exists(object_file):"},{"line_number":118,"context_line":"                    #     yield (partition, object_file, context)"},{"line_number":119,"context_line":"                    #     continue"},{"line_number":120,"context_line":"                    # # look for any alternate db filenames"},{"line_number":121,"context_line":"                    # db_files \u003d get_db_files(object_file)"},{"line_number":122,"context_line":"                    # if db_files:"},{"line_number":123,"context_line":"                    #     yield (partition, db_files[-1], context)"},{"line_number":124,"context_line":"                    #     continue"},{"line_number":125,"context_line":"                object_file \u003d os.path.join(hash_dir, hsh + \u0027.db\u0027)"},{"line_number":126,"context_line":"                # common case"},{"line_number":127,"context_line":"                if os.path.exists(object_file):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_6dea3075","line":124,"range":{"start_line":107,"start_character":0,"end_line":124,"end_character":34},"updated":"2018-06-27 23:30:04.000000000","message":"Eh?","commit_id":"92c3042f0f2d83cba113c47e79f067b9348403ef"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8457f7e0058087ff7ab2b010e5bd3162209fc1b9","unresolved":false,"context_lines":[{"line_number":821,"context_line":"        part_count, work_iter \u003d self._find_replication_jobs("},{"line_number":822,"context_line":"            dirs, partitions_to_replicate)"},{"line_number":823,"context_line":"        self.part_count \u003d part_count  # used for periodic stats"},{"line_number":824,"context_line":"        stats_coro \u003d eventlet.spawn(self._report_periodic_stats)"},{"line_number":825,"context_line":"        for part, object_file, node_id in work_iter:"},{"line_number":826,"context_line":"            self.cpool.spawn_n("},{"line_number":827,"context_line":"                self._replicate_object, part, object_file, node_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_427cfe20","line":824,"updated":"2018-08-01 22:17:56.000000000","message":"Did you mean to spawn _periodic_stats_loop here?","commit_id":"9aedfd19c0e9650aa9381607024245be316ccc5e"}]}
