)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38496,"name":"Andressa Cabistani","display_name":"Andressa","email":"acabistani@gmail.com","username":"andressadotpy","status":"I\u0027m a Software Engineer at Red Hat and I love Open Source and connect with people! Feel free to DM through IRC, I\u0027ll be delighted to chat"},"change_message_id":"32680e71f092ba43920ae9cccf96bd7dff52db48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9e8e88a6_841d4a4d","updated":"2026-10-16 09:41:34.000000000","message":"Tested in SAIO with `auto_shard \u003d True`, `shard_container_threshold \u003d 10`, `rows_per_shard \u003d 5`, `minimum_shard_age \u003d 0`:\n\n- Created a container with 15 objects sharded into 3 ACTIVE ranges. Used `sqlite3` to insert an extra shard range record fully inside one of the existing ranges. For example a range covering obj-06 → obj-09 sitting inside the existing obj-05 → obj-10 range. Because the outer ranges still cover the entire namespace, a clean non-overlapping path exists and auto-repair can proceed. Ran one sharder pass. The inner (duplicate) range was correctly marked `SHRINKING` and all 15 objects remained visible from listing throughout the repair.\n\n- Configured `shard_container_threshold \u003d 10` and `rows_per_shard \u003d 5`. Uploaded objects to a container until it sharded into 3 ACTIVE ranges, then continued adding objects to one ACTIVE shard until it held more than 10 objects (above the threshold). Ran the sharder, it detected the oversized shard automatically and initiated recursive sharding without any manual intervention. First pass: 3 sub-shards created from the oversized shard. Second pass: sub-shards promoted to ACTIVE. All objects remained visible from listing throughout both passes with no holes.","commit_id":"13a5eba843d0178c3daf91b3682064b329cc8527"}],"swift/container/sharder.py":[{"author":{"_account_id":38496,"name":"Andressa Cabistani","display_name":"Andressa","email":"acabistani@gmail.com","username":"andressadotpy","status":"I\u0027m a Software Engineer at Red Hat and I love Open Source and connect with people! Feel free to DM through IRC, I\u0027ll be delighted to chat"},"change_message_id":"32680e71f092ba43920ae9cccf96bd7dff52db48","unresolved":true,"context_lines":[{"line_number":2413,"context_line":"                self.db_logger.debug("},{"line_number":2414,"context_line":"                    broker,"},{"line_number":2415,"context_line":"                    \u0027Deferring %s CLEAVING shard ranges; broker is not \u0027"},{"line_number":2416,"context_line":"                    \u0027authoritive\u0027,"},{"line_number":2417,"context_line":"                    len(cleaving_shards))"},{"line_number":2418,"context_line":"        if updated_shards:"},{"line_number":2419,"context_line":"            broker.merge_shard_ranges(updated_shards)"}],"source_content_type":"text/x-python","patch_set":3,"id":"cec39194_f965132d","line":2416,"updated":"2026-10-16 09:41:34.000000000","message":"\"authoritive\" is incorrect, it\u0027s actually \"authoritative\". Since it\u0027s a log message, I believe it should be fixed","commit_id":"13a5eba843d0178c3daf91b3682064b329cc8527"},{"author":{"_account_id":38496,"name":"Andressa Cabistani","display_name":"Andressa","email":"acabistani@gmail.com","username":"andressadotpy","status":"I\u0027m a Software Engineer at Red Hat and I love Open Source and connect with people! Feel free to DM through IRC, I\u0027ll be delighted to chat"},"change_message_id":"32680e71f092ba43920ae9cccf96bd7dff52db48","unresolved":true,"context_lines":[{"line_number":2578,"context_line":"        # Older, non-automatic cleaves do not publish authority metadata."},{"line_number":2579,"context_line":"        return auth_id \u003d\u003d broker_id or (not self.auto_shard and not auth_id)"},{"line_number":2580,"context_line":""},{"line_number":2581,"context_line":"    def _is_cleaving_authority(self, broker, node\u003dNone):"},{"line_number":2582,"context_line":"        \"\"\"Return whether this broker may promote automatic cleaves early.\"\"\""},{"line_number":2583,"context_line":"        if (self.auto_shard and not broker.get_sharding_sysmeta("},{"line_number":2584,"context_line":"                SHARD_AUTHORITY_SYSMETA)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"f9801335_e4f46ce6","line":2581,"updated":"2026-10-16 09:41:34.000000000","message":"`node` is not used anywhere, is there a plan to use it in the future?","commit_id":"13a5eba843d0178c3daf91b3682064b329cc8527"}]}
