)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"18e2f7fbc9206b8b778e62cf951efa51f5f2b041","unresolved":false,"context_lines":[{"line_number":10,"context_line":"phase of sharding i.e. just pass in a ContainerBroker instance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The change also avoids any potential for a stale copy of"},{"line_number":13,"context_line":"own_shard_range to be used in _misplaced_objects."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Furthermore, the change simplifies testing. It is no longer necessary"},{"line_number":16,"context_line":"to create an own shard range instance simply to pass it to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf659307_dcaac1d0","line":13,"updated":"2018-03-27 21:19:29.000000000","message":"Not really much more so than was the case before, I think -- there\u0027s still the chance that some other process could update our own shard range between when we read it in _misplaced_objects and when we actually *use* it.","commit_id":"b62864ca6dfd29a3cd4f62648da6620a4523372a"}],"swift/container/sharder.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"18e2f7fbc9206b8b778e62cf951efa51f5f2b041","unresolved":false,"context_lines":[{"line_number":697,"context_line":"            if state in (UNSHARDED, COLLAPSED):"},{"line_number":698,"context_line":"                if is_leader and broker.is_root_container():"},{"line_number":699,"context_line":"                    # bootstrap sharding of root container"},{"line_number":700,"context_line":"                    if self._find_sharding_candidates("},{"line_number":701,"context_line":"                            broker, shard_ranges\u003d[own_shard_range]):"},{"line_number":702,"context_line":"                        own_shard_range \u003d broker.get_own_shard_range()"},{"line_number":703,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_be9264f5","side":"PARENT","line":700,"range":{"start_line":700,"start_character":20,"end_line":700,"end_character":22},"updated":"2018-03-27 21:19:29.000000000","message":"We\u0027re no longer looking at the return value?\n\nAh, \u0027cause we\u0027re always fetching own_shard_range after this now...","commit_id":"1da1248d1c00fd4d253bcb80a44d52311baaea02"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"18e2f7fbc9206b8b778e62cf951efa51f5f2b041","unresolved":false,"context_lines":[{"line_number":697,"context_line":"                if is_leader and broker.is_root_container():"},{"line_number":698,"context_line":"                    # bootstrap sharding of root container"},{"line_number":699,"context_line":"                    self._find_sharding_candidates("},{"line_number":700,"context_line":"                        broker, shard_ranges\u003d[broker.get_own_shard_range()])"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"                own_shard_range \u003d broker.get_own_shard_range()"},{"line_number":703,"context_line":"                if broker.get_shard_ranges():"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_bc6a6db0","line":700,"updated":"2018-03-27 21:19:29.000000000","message":"Does it matter that there\u0027s now an opportunity for another process to update our notion of own_shard_range between calling _misplaced_objects and _find_sharding_candidates?","commit_id":"b62864ca6dfd29a3cd4f62648da6620a4523372a"}]}
