)]}'
{"swift/obj/reconstructor.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"8344e430a5412a1b6f50f0177510c329f1b4c0e9","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            return"},{"line_number":244,"context_line":"        self.ring_mtimes \u003d {}"},{"line_number":245,"context_line":"        for policy in self.policies:"},{"line_number":246,"context_line":"            # stash the mtime of the ring data that we\u0027re using"},{"line_number":247,"context_line":"            policy.load_ring(self.swift_dir)"},{"line_number":248,"context_line":"            self.ring_mtimes[int(policy)] \u003d policy.object_ring._mtime"},{"line_number":249,"context_line":"        override_options \u003d parse_override_options(once\u003donce, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff346bd7_89a14a97","line":246,"range":{"start_line":246,"start_character":12,"end_line":246,"end_character":63},"updated":"2017-07-26 16:48:16.000000000","message":"the ring updates its mtime independently, so we can\u0027t use its has_changed() method to determine if the ring is different w.r.t. when we fetched devices - hence keeping our own record of the mtimes :/","commit_id":"380fe358631c4adc5f6adf0c96205de78869e99d"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"8344e430a5412a1b6f50f0177510c329f1b4c0e9","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        if now \u003e self._next_rcache_update:"},{"line_number":278,"context_line":"            self._next_rcache_update \u003d now + self.stats_interval"},{"line_number":279,"context_line":"            self.aggregate_recon_update()"},{"line_number":280,"context_line":"        if time.time() \u003e self.next_ring_check:"},{"line_number":281,"context_line":"            self.next_ring_check \u003d time.time() + self.ring_check_interval"},{"line_number":282,"context_line":"            for policy in self.policies:"},{"line_number":283,"context_line":"                policy.load_ring(self.swift_dir)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff346bd7_29625eaf","line":280,"updated":"2017-07-26 16:48:16.000000000","message":"there must be some cleanup possible w.r.t. check_ring, I just wanted to get something that worked first.","commit_id":"380fe358631c4adc5f6adf0c96205de78869e99d"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"8344e430a5412a1b6f50f0177510c329f1b4c0e9","unresolved":false,"context_lines":[{"line_number":280,"context_line":"        if time.time() \u003e self.next_ring_check:"},{"line_number":281,"context_line":"            self.next_ring_check \u003d time.time() + self.ring_check_interval"},{"line_number":282,"context_line":"            for policy in self.policies:"},{"line_number":283,"context_line":"                policy.load_ring(self.swift_dir)"},{"line_number":284,"context_line":"                ring \u003d policy.object_ring"},{"line_number":285,"context_line":"                # if a ring file has changed then it may have already been"},{"line_number":286,"context_line":"                # reloaded and the ring mtime updated, but in case not this"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff346bd7_a923ee55","line":283,"range":{"start_line":283,"start_character":16,"end_line":283,"end_character":48},"updated":"2017-07-26 16:48:16.000000000","message":"possibly not neeeded.\n\npolicy.load_ring does not attempt to reload ring - maybe it should?","commit_id":"380fe358631c4adc5f6adf0c96205de78869e99d"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"8344e430a5412a1b6f50f0177510c329f1b4c0e9","unresolved":false,"context_lines":[{"line_number":285,"context_line":"                # if a ring file has changed then it may have already been"},{"line_number":286,"context_line":"                # reloaded and the ring mtime updated, but in case not this"},{"line_number":287,"context_line":"                # will trigger a reload and mtime update"},{"line_number":288,"context_line":"                ring._reload()"},{"line_number":289,"context_line":"                # now compare the latest ring mtime with the value when the"},{"line_number":290,"context_line":"                # worker args were determined"},{"line_number":291,"context_line":"                if self.ring_mtimes.get(int(policy)) !\u003d ring._mtime:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff346bd7_09dafa4a","line":288,"range":{"start_line":288,"start_character":21,"end_line":288,"end_character":30},"updated":"2017-07-26 16:48:16.000000000","message":"is this the only way we have to trigger a ring reload?","commit_id":"380fe358631c4adc5f6adf0c96205de78869e99d"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"8344e430a5412a1b6f50f0177510c329f1b4c0e9","unresolved":false,"context_lines":[{"line_number":288,"context_line":"                ring._reload()"},{"line_number":289,"context_line":"                # now compare the latest ring mtime with the value when the"},{"line_number":290,"context_line":"                # worker args were determined"},{"line_number":291,"context_line":"                if self.ring_mtimes.get(int(policy)) !\u003d ring._mtime:"},{"line_number":292,"context_line":"                    return False"},{"line_number":293,"context_line":"        return True"},{"line_number":294,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff346bd7_e90c56ed","line":291,"range":{"start_line":291,"start_character":61,"end_line":291,"end_character":67},"updated":"2017-07-26 16:48:16.000000000","message":"ugh, I hate to bleed out the private attribute","commit_id":"380fe358631c4adc5f6adf0c96205de78869e99d"}]}
