)]}'
{"swift/obj/objectrpcmanager.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"98d08f19583ce315cdc29b73bac19023fa280df8","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        \"\"\""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        # Note that this get re-used in is_healthy"},{"line_number":111,"context_line":"        self.kv_disks \u003d self.get_kv_disks()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        # TODO: what to do in this case ?"},{"line_number":114,"context_line":"        if not self.kv_disks:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_0ed301d7","line":111,"updated":"2020-03-20 05:42:13.000000000","message":"I like this getting set here, given how we use it in is_healthy; it weirds me out a little that we also set it up in __init__(), though...","commit_id":"d28d245a3baa35f8a9205c00ee8365a43e15324c"},{"author":{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},"change_message_id":"e7f7c5e6d9872d66834a49476ad9ee6e211f51f9","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        \"\"\""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        # Note that this get re-used in is_healthy"},{"line_number":111,"context_line":"        self.kv_disks \u003d self.get_kv_disks()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        # TODO: what to do in this case ?"},{"line_number":114,"context_line":"        if not self.kv_disks:"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_681d7372","line":111,"in_reply_to":"1fa4df85_0ed301d7","updated":"2020-03-25 15:59:06.000000000","message":"agreed, I\u0027ll remove it","commit_id":"d28d245a3baa35f8a9205c00ee8365a43e15324c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"98d08f19583ce315cdc29b73bac19023fa280df8","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                yield dict(policy_idx\u003dpolicy_idx, disk_path\u003ddisk_path,"},{"line_number":126,"context_line":"                           socket_path\u003dsocket_path, statecheck\u003dTrue)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def is_healthy(self):"},{"line_number":129,"context_line":"        sleep(10)"},{"line_number":130,"context_line":"        return self.get_kv_disks() \u003d\u003d self.kv_disks"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_eecd4530","line":128,"updated":"2020-03-20 05:42:13.000000000","message":"This seems to go against the documented behavior of\n\n\u003e This method is called very frequently on the instance of the daemon held by the parent process.\n\nWould it be better to have get_kv_disks implement some time-based caching? I worry a little that we may have a worker die but still have to wait most of the ten seconds before we realize it over in check_on_all_running_workers()...","commit_id":"d28d245a3baa35f8a9205c00ee8365a43e15324c"},{"author":{"_account_id":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},"change_message_id":"0814058d4eef1fe1d64b59c0ea7de4728520eac5","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                yield dict(policy_idx\u003dpolicy_idx, disk_path\u003ddisk_path,"},{"line_number":126,"context_line":"                           socket_path\u003dsocket_path, statecheck\u003dTrue)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def is_healthy(self):"},{"line_number":129,"context_line":"        sleep(10)"},{"line_number":130,"context_line":"        return self.get_kv_disks() \u003d\u003d self.kv_disks"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_fa841bd5","line":128,"in_reply_to":"1fa4df85_eecd4530","updated":"2020-03-20 11:32:29.000000000","message":"For the record, we added (internally) the same sleep(10) in replicator and reconstructor because the scan of the devices every 0.1s was too CPU intensive on Atom processors.\n\nNot saying it\u0027s a good fix, but instead there could be a design issue around is_healthy() and its usage.","commit_id":"d28d245a3baa35f8a9205c00ee8365a43e15324c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"13a8b9a838930b083e9b2952d3fe8595ca95c24a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                yield dict(policy_idx\u003dpolicy_idx, disk_path\u003ddisk_path,"},{"line_number":126,"context_line":"                           socket_path\u003dsocket_path, statecheck\u003dTrue)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def is_healthy(self):"},{"line_number":129,"context_line":"        sleep(10)"},{"line_number":130,"context_line":"        return self.get_kv_disks() \u003d\u003d self.kv_disks"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_c775d2ce","line":128,"in_reply_to":"1fa4df85_fa841bd5","updated":"2020-03-20 16:38:12.000000000","message":"Ah... time to make that 0.1 in DaemonStrategy._run() a config value, maybe?","commit_id":"d28d245a3baa35f8a9205c00ee8365a43e15324c"},{"author":{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},"change_message_id":"e7f7c5e6d9872d66834a49476ad9ee6e211f51f9","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                yield dict(policy_idx\u003dpolicy_idx, disk_path\u003ddisk_path,"},{"line_number":126,"context_line":"                           socket_path\u003dsocket_path, statecheck\u003dTrue)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def is_healthy(self):"},{"line_number":129,"context_line":"        sleep(10)"},{"line_number":130,"context_line":"        return self.get_kv_disks() \u003d\u003d self.kv_disks"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_a8177b51","line":128,"in_reply_to":"df33271e_c775d2ce","updated":"2020-03-25 15:59:06.000000000","message":"I tried do it here: https://review.opendev.org/#/c/714977\nIs that what you had in mind ?","commit_id":"d28d245a3baa35f8a9205c00ee8365a43e15324c"}]}
