)]}'
{"swift/container/backend.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"56605fd98173465ee80fa93f398639717c4c537e","unresolved":false,"context_lines":[{"line_number":1644,"context_line":"                conditions.append(\u0027name \u003d ?\u0027)"},{"line_number":1645,"context_line":"                params.append(self.path)"},{"line_number":1646,"context_line":"            if marker:"},{"line_number":1647,"context_line":"                conditions.append(\"(upper \u003d \u0027\u0027 OR upper \u003e ?)\")"},{"line_number":1648,"context_line":"                params.append(marker)"},{"line_number":1649,"context_line":"            if end_marker:"},{"line_number":1650,"context_line":"                conditions.append(\u0027lower \u003c ?\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_d1b92779","line":1647,"range":{"start_line":1647,"start_character":35,"end_line":1647,"end_character":60},"updated":"2018-05-25 12:36:18.000000000","message":"it\u0027s a shame that having encapsulated this nuance inside ShardRange it now has to bleed out but I guess now things are stable on master we can gain something doing this","commit_id":"5936528d49d9d25769a01ead4abc169479e159bd"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"56605fd98173465ee80fa93f398639717c4c537e","unresolved":false,"context_lines":[{"line_number":1647,"context_line":"                conditions.append(\"(upper \u003d \u0027\u0027 OR upper \u003e ?)\")"},{"line_number":1648,"context_line":"                params.append(marker)"},{"line_number":1649,"context_line":"            if end_marker:"},{"line_number":1650,"context_line":"                conditions.append(\u0027lower \u003c ?\u0027)"},{"line_number":1651,"context_line":"                params.append(end_marker)"},{"line_number":1652,"context_line":"            if includes is not None:"},{"line_number":1653,"context_line":"                conditions.extend((\u0027lower \u003c ?\u0027, \"(upper \u003d \u0027\u0027 OR upper \u003e\u003d ?)\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_a4530716","line":1650,"range":{"start_line":1650,"start_character":34,"end_line":1650,"end_character":45},"updated":"2018-05-25 12:36:18.000000000","message":"hmm, is this correct? it is equivalent to existing, but neither lower nor end_marker are inclusive so should the condition be lower + \u0027\\x00\u0027 \u003c end_marker ?\n\nseems like we return an unnecessary range if end_marker \u003d lower + \u0027\\x00\u0027","commit_id":"5936528d49d9d25769a01ead4abc169479e159bd"}],"test/unit/container/test_backend.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"56605fd98173465ee80fa93f398639717c4c537e","unresolved":false,"context_lines":[{"line_number":3483,"context_line":"        self.assertEqual([dict(sr) for sr in reversed(undeleted)],"},{"line_number":3484,"context_line":"                         [dict(sr) for sr in actual])"},{"line_number":3485,"context_line":""},{"line_number":3486,"context_line":"        with mock.patch(\u0027swift.container.backend.ShardRange\u0027,"},{"line_number":3487,"context_line":"                        wraps\u003dShardRange) as mock_shard_range:"},{"line_number":3488,"context_line":"            actual \u003d broker.get_shard_ranges(marker\u003d\u0027c\u0027, end_marker\u003d\u0027e\u0027)"},{"line_number":3489,"context_line":"        self.assertEqual([dict(sr) for sr in shard_ranges[1:3]],"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_a46c67d0","line":3486,"updated":"2018-05-25 12:36:18.000000000","message":"anyone reading this might spend a long time wondering WTF before getting to line 3506 (and even then its not obvious why)","commit_id":"5936528d49d9d25769a01ead4abc169479e159bd"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"56605fd98173465ee80fa93f398639717c4c537e","unresolved":false,"context_lines":[{"line_number":3496,"context_line":"                         [dict(sr) for sr in actual])"},{"line_number":3497,"context_line":""},{"line_number":3498,"context_line":"        actual \u003d broker.get_shard_ranges(marker\u003d\u0027e\u0027, end_marker\u003d\u0027e\u0027)"},{"line_number":3499,"context_line":"        self.assertFalse([dict(sr) for sr in actual])"},{"line_number":3500,"context_line":""},{"line_number":3501,"context_line":"        with mock.patch(\u0027swift.container.backend.ShardRange\u0027,"},{"line_number":3502,"context_line":"                        wraps\u003dShardRange) as mock_shard_range:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_5128b795","line":3499,"updated":"2018-05-25 12:36:18.000000000","message":"something like http://paste.openstack.org/show/721976/ might be a useful addition - there\u0027s assertions in test_server that cover the marker being in a shard range with upper \u003d \u0027\u0027, but still be nice to have it tested directly here.","commit_id":"5936528d49d9d25769a01ead4abc169479e159bd"}]}
