)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"363fe27b5a033f065b0b71b8100c3f8ba438c752","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6013f8dd_24165924","updated":"2022-07-19 22:34:13.000000000","message":"I might try to get a follow-up going with some copy fixes, but this is looking pretty good!","commit_id":"bee0006e48d72181144acd126eaa92479b2a7967"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"912bb98bd1403320e0c824ad00dd0d304f7bf0f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bf3df15e_a948554e","updated":"2022-05-02 02:13:04.000000000","message":"We\u0027ve run this is prod for a while now, I think it\u0027s pretty good. I\u0027ll go confirm with ops to see if they\u0027ve used the new feature. But I wonder if it\u0027s ok to land sometime soon?","commit_id":"bee0006e48d72181144acd126eaa92479b2a7967"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2a005d7001050b54ff29495b47f13400a156dbec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"69b6b3a0_9dc8cb63","updated":"2022-05-09 20:06:12.000000000","message":"can confirm this option is in the swift we\u0027ve been shipping","commit_id":"bee0006e48d72181144acd126eaa92479b2a7967"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"4f61e32a5df9464c6236259a28c8ee247434f489","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"998f0386_2861de6f","updated":"2022-07-21 03:36:48.000000000","message":"Just fixed the test that was checking the logger lines that were edited in patchset 4. If it all passes, I\u0027ll +A based on Tim\u0027s previous +A.","commit_id":"bf4edefce4990a9c8c3f6a92696af37d840d2008"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"f0ae31df0afbd3cb5301488fed152864cf9769ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"34133d11_02afdfb5","updated":"2022-07-22 00:33:19.000000000","message":"re-adding the +2 and +A based on Tim\u0027s now that the tests are passing.","commit_id":"bf4edefce4990a9c8c3f6a92696af37d840d2008"}],"etc/account-server.conf-sample":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f7d5ddeaeac48d1c1ad0f81151ce5e3bcc17a90e","unresolved":true,"context_lines":[{"line_number":212,"context_line":"# cluster. The replicator would remove local handoff account database after"},{"line_number":213,"context_line":"# syncing when the number of successful responses is greater than or equal to"},{"line_number":214,"context_line":"# this number. By default(auto), handoff partitions will be"},{"line_number":215,"context_line":"# removed  when it has successfully replicated to all the canonical nodes."},{"line_number":216,"context_line":"# handoff_delete \u003d auto"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"[account-auditor]"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"df7fcd4e_4958c062","line":215,"updated":"2022-07-20 21:49:52.000000000","message":"I was going to try cleaning up the wording for all this, but then I realized it was taken pretty much verbatim from the object-replicator sample config, so meh.","commit_id":"ad3de6a99b955576587538e5d3378e9ece256d07"}],"swift/common/db_replicator.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"363fe27b5a033f065b0b71b8100c3f8ba438c752","unresolved":true,"context_lines":[{"line_number":559,"context_line":"        if self.handoff_delete:"},{"line_number":560,"context_line":"            # delete handoff if we have had handoff_delete successes"},{"line_number":561,"context_line":"            successes_count \u003d len([resp for resp in responses if resp])"},{"line_number":562,"context_line":"            delete_handoff \u003d successes_count \u003e\u003d self.handoff_delete"},{"line_number":563,"context_line":"        else:"},{"line_number":564,"context_line":"            delete_handoff \u003d responses and all(responses)"},{"line_number":565,"context_line":"        if not delete_handoff:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ac882feb_09fc38d8","line":562,"updated":"2022-07-19 22:34:13.000000000","message":"So if handoff_delete is greater than the replica count... we never delete from any handoffs? *shrug* Looks like the object-replicator works the same way... wrote up https://bugs.launchpad.net/swift/+bug/1982201 for it.","commit_id":"bee0006e48d72181144acd126eaa92479b2a7967"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"363fe27b5a033f065b0b71b8100c3f8ba438c752","unresolved":true,"context_lines":[{"line_number":785,"context_line":"            self.logger.warning("},{"line_number":786,"context_line":"                \u0027Starting replication pass with handoffs_only \u0027"},{"line_number":787,"context_line":"                \u0027and/or handoffs_delete enabled. \u0027"},{"line_number":788,"context_line":"                \u0027This mode is not intended for normal \u0027"},{"line_number":789,"context_line":"                \u0027operation; use these options with care.\u0027)"},{"line_number":790,"context_line":""},{"line_number":791,"context_line":"        self._local_device_ids \u003d set()"}],"source_content_type":"text/x-python","patch_set":3,"id":"d9e60928_c9bab03a","line":788,"range":{"start_line":788,"start_character":17,"end_line":788,"end_character":26},"updated":"2022-07-19 22:34:13.000000000","message":"nit: \"This mode is\" or \"These modes are\"? *shrug*","commit_id":"bee0006e48d72181144acd126eaa92479b2a7967"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"363fe27b5a033f065b0b71b8100c3f8ba438c752","unresolved":true,"context_lines":[{"line_number":829,"context_line":"                self._replicate_object, part, object_file, node_id)"},{"line_number":830,"context_line":"        self.cpool.waitall()"},{"line_number":831,"context_line":"        self.logger.info(_(\u0027Replication run OVER\u0027))"},{"line_number":832,"context_line":"        if self.handoffs_only or self.handoff_delete:"},{"line_number":833,"context_line":"            self.logger.warning("},{"line_number":834,"context_line":"                \u0027Finished replication pass with handoffs_only and/or \u0027"},{"line_number":835,"context_line":"                \u0027handoffs_delete enabled. If these are no longer required, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"398eb446_004b649c","line":832,"range":{"start_line":832,"start_character":16,"end_line":832,"end_character":29},"updated":"2022-07-19 22:34:13.000000000","message":"🤔 Interesting that we weren\u0027t seeing enough progress with handoffs_only...","commit_id":"bee0006e48d72181144acd126eaa92479b2a7967"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"363fe27b5a033f065b0b71b8100c3f8ba438c752","unresolved":true,"context_lines":[{"line_number":833,"context_line":"            self.logger.warning("},{"line_number":834,"context_line":"                \u0027Finished replication pass with handoffs_only and/or \u0027"},{"line_number":835,"context_line":"                \u0027handoffs_delete enabled. If these are no longer required, \u0027"},{"line_number":836,"context_line":"                \u0027disable it.\u0027)"},{"line_number":837,"context_line":"        self._report_stats()"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":"    def run_forever(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":3,"id":"54e9ec45_6c5e8934","line":836,"range":{"start_line":836,"start_character":25,"end_line":836,"end_character":27},"updated":"2022-07-19 22:34:13.000000000","message":"nit: \"them\"","commit_id":"bee0006e48d72181144acd126eaa92479b2a7967"}]}
