)]}'
{"swift/common/ring/ring.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"f7481e9cad7c9da6cebfc08bd63ef9b1ccb9211c","unresolved":false,"context_lines":[{"line_number":629,"context_line":"                            break"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        if for_read:"},{"line_number":632,"context_line":"            for dev in self.devs:"},{"line_number":633,"context_line":"                if dev[\u0027id\u0027] not in used:"},{"line_number":634,"context_line":"                    yield dict(dev, handoff_index\u003dnext(index))"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_c22fac3c","line":632,"updated":"2020-07-14 15:06:15.000000000","message":"GROSS","commit_id":"6ede7645e0f4313f7526d24321ad3300acae1b8b"}],"swift/proxy/controllers/base.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"ccb9800d771c8a02435717c061d942f79996a651","unresolved":false,"context_lines":[{"line_number":1561,"context_line":"    def _node_gen(self):"},{"line_number":1562,"context_line":"        for node in self.primary_nodes:"},{"line_number":1563,"context_line":"            if not self.app.error_limited(node):"},{"line_number":1564,"context_line":"                yield node"},{"line_number":1565,"context_line":"                if not self.app.error_limited(node):"},{"line_number":1566,"context_line":"                    self.nodes_left -\u003d 1"},{"line_number":1567,"context_line":"                    if self.nodes_left \u003c\u003d 0:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_b7b910cd","line":1564,"updated":"2020-07-14 23:13:41.000000000","message":"Just realized another reason I\u0027d love to have for_read plumbed in -- I wouldn\u0027t mind having something like\n\n primaries \u003d 0\n for node in self.primary_nodes:\n     ...\n     primaries +\u003d 1\n     if self.for_read and hasattr(self.policy, \u0027ec_ndata\u0027) \\\n             and primaries \u003e self.policy.ec_ndata:\n         self.app.logger.increment(\u0027parity\u0027)\n     yield node","commit_id":"6ede7645e0f4313f7526d24321ad3300acae1b8b"}],"test/unit/common/ring/test_ring.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b3e2e8ed97d978c80efd5361b7a3b2ea937b67fe","unresolved":false,"context_lines":[{"line_number":1012,"context_line":"            self.assertEqual([\u0027d1\u0027, \u0027d2\u0027, \u0027d3\u0027, \u0027d4\u0027], sorted("},{"line_number":1013,"context_line":"                node[\u0027device\u0027] for node in nodes))"},{"line_number":1014,"context_line":""},{"line_number":1015,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":1016,"context_line":"    unittest.main()"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_f7d71722","line":1015,"updated":"2020-07-14 06:09:55.000000000","message":"pep8: E305 expected 2 blank lines after class or function definition, found 1","commit_id":"6ede7645e0f4313f7526d24321ad3300acae1b8b"}]}
