)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"bdf8a40b2f13054c0b79125d20e7f3118a1c234a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2004d92b_5c92ebdf","updated":"2026-07-23 09:25:08.000000000","message":"Code LGTM, one question inline - not a blocker.\n\nThe idea is to remove operational friction? Today one could run a manual additional expirer for a failed process, but this needs manual work on a node. With this patch it\u0027s just a config change and a service restart - which should be covered by deployment tools. Right?","commit_id":"bd0b04e4ab1f5a205f0c1f14dd8c7a325e38007e"}],"swift/obj/expirer.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"bdf8a40b2f13054c0b79125d20e7f3118a1c234a","unresolved":true,"context_lines":[{"line_number":416,"context_line":"        indexes, existing_divisor \u003d \\"},{"line_number":417,"context_line":"            self._process_context_by_task_container.setdefault("},{"line_number":418,"context_line":"                task_container, (set(), divisor))"},{"line_number":419,"context_line":"        if existing_divisor !\u003d divisor:"},{"line_number":420,"context_line":"            raise ValueError("},{"line_number":421,"context_line":"                \u0027process values must share a task container divisor\u0027)"},{"line_number":422,"context_line":"        indexes.add(process_index)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bbaf6070_4f9fd7f5","line":419,"updated":"2026-07-23 09:25:08.000000000","message":"When can this ever happen? Same container should be same divisor, or not? Should only happen if another/new expirer is started with a different config, or not?","commit_id":"bd0b04e4ab1f5a205f0c1f14dd8c7a325e38007e"}]}
