)]}'
{"swift/common/db_replicator.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"14cfa32ab3a6dae98e699288d415b8830b550d49","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            try:"},{"line_number":134,"context_line":"                yield next(it)"},{"line_number":135,"context_line":"            except StopIteration:"},{"line_number":136,"context_line":"                its.remove(it)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"class ReplConnection(BufferedHTTPConnection):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_480cc93a","line":136,"updated":"2018-03-04 10:16:04.000000000","message":"Off topic: I wonder if something like\n\n filler \u003d object\n for items in itertools.izip_longest(\n         itertools.starmap(walk_datadir, datadirs),\n         fillvalue\u003dfiller):\n     for item in items:\n         if item is not filler:\n             yield item\n\nwould be more or less readable...","commit_id":"47fed6f2f960a2cd56960b8aeb2eeace405c3afa"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"14cfa32ab3a6dae98e699288d415b8830b550d49","unresolved":false,"context_lines":[{"line_number":639,"context_line":"            partition \u003d int(partition_dir)"},{"line_number":640,"context_line":"            primary_node_ids \u003d ["},{"line_number":641,"context_line":"                d[\u0027id\u0027] for d in self.ring.get_part_nodes(partition)]"},{"line_number":642,"context_line":"            return device_id not in primary_node_ids"},{"line_number":643,"context_line":"        return filt"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"    def report_up_to_date(self, full_info):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_2857fd04","line":642,"updated":"2018-03-04 10:16:04.000000000","message":"Maybe\n\n return not any(d[\u0027id\u0027] \u003d\u003d device_id for d in\n                self.ring.get_part_nodes(partition))\n\n? *shrug*","commit_id":"47fed6f2f960a2cd56960b8aeb2eeace405c3afa"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"14cfa32ab3a6dae98e699288d415b8830b550d49","unresolved":false,"context_lines":[{"line_number":698,"context_line":"        if self.handoffs_only:"},{"line_number":699,"context_line":"            self.logger.warning("},{"line_number":700,"context_line":"                \u0027Finished replication pass with handoffs_only enabled. \u0027"},{"line_number":701,"context_line":"                \u0027If handoffs_only is no longer required, disable it.\u0027)"},{"line_number":702,"context_line":"        self._report_stats()"},{"line_number":703,"context_line":""},{"line_number":704,"context_line":"    def run_forever(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_c8e1b92c","line":701,"range":{"start_line":701,"start_character":17,"end_line":701,"end_character":55},"updated":"2018-03-04 10:16:04.000000000","message":"Can we give users more guidance on whether it\u0027s still necessary? Clearly if we didn\u0027t find anything in the cycle, it should be safe to turn it off... but we probably don\u0027t want to wait for that -- *some* handoffs are normal; it\u0027s *too many* that warrants this...","commit_id":"47fed6f2f960a2cd56960b8aeb2eeace405c3afa"}],"test/unit/common/test_db_replicator.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"14cfa32ab3a6dae98e699288d415b8830b550d49","unresolved":false,"context_lines":[{"line_number":1537,"context_line":"    def cleanUp(self):"},{"line_number":1538,"context_line":"        rmtree(self.root, ignore_errors\u003dTrue)"},{"line_number":1539,"context_line":""},{"line_number":1540,"context_line":"    def test_scary_warnings(self):"},{"line_number":1541,"context_line":"        logger \u003d unit.FakeLogger()"},{"line_number":1542,"context_line":"        replicator \u003d TestReplicator({"},{"line_number":1543,"context_line":"            \u0027handoffs_only\u0027: \u0027yes\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_a8bf8df9","line":1540,"range":{"start_line":1540,"start_character":8,"end_line":1540,"end_character":27},"updated":"2018-03-04 10:16:04.000000000","message":"lol","commit_id":"47fed6f2f960a2cd56960b8aeb2eeace405c3afa"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"367f309207f1ce804f314bb65b6c1f5b38c8d904","unresolved":false,"context_lines":[{"line_number":1556,"context_line":"            logger.get_lines_for_level(\u0027warning\u0027),"},{"line_number":1557,"context_line":"            [(\u0027Starting replication pass with handoffs_only enabled. This \u0027"},{"line_number":1558,"context_line":"              \u0027mode is not intended for normal operation; use \u0027"},{"line_number":1559,"context_line":"              \u0027handoffs_only with care.\u0027),"},{"line_number":1560,"context_line":"             (\u0027Finished replication pass with handoffs_only enabled. \u0027"},{"line_number":1561,"context_line":"              \u0027If handoffs_only is no longer required, disable it.\u0027)])"},{"line_number":1562,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ff6b8bd7_8b268fb7","line":1559,"updated":"2018-03-13 23:00:47.000000000","message":"assertIsScary?","commit_id":"47fed6f2f960a2cd56960b8aeb2eeace405c3afa"}]}
