)]}'
{"id":"openstack%2Fswift~991135","triplet_id":"openstack%2Fswift~master~I53a92ccd77665ddeb25d0cf332bf44b7f34cd6f5","project":"openstack/swift","branch":"master","topic":"ring-history","attention_set":{"38496":{"account":{"_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"},"last_update":"2026-09-04 13:52:25.000000000","reason":"Vote got outdated and was removed: Code-Review+1"},"6968":{"account":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"last_update":"2026-07-28 14:50:52.000000000","reason":"\u003cGERRIT_ACCOUNT_38496\u003e replied on the change","reason_account":{"_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"}}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I53a92ccd77665ddeb25d0cf332bf44b7f34cd6f5","subject":"probe: test old-primary recovery on a live cluster","status":"NEW","created":"2026-06-02 15:18:21.000000000","updated":"2026-09-04 15:10:10.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"440c334a6eb32489bfc9d146e70f18765d9abc3d","_number":991135,"virtual_id_number":991135,"owner":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_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"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-04 15:08:04.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_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"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_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"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-02 16:28:05.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-07-28 14:50:52.000000000","updated_by":{"_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"},"reviewer":{"_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"},"state":"REVIEWER"}],"messages":[{"id":"f7912f4b11daa183a01b1a33ab58f9eb6291781d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-06-02 15:18:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"08dceb84d44599502c643f125885e7f4430dc186","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-02 16:28:05.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/804c698a1a9040acbf87718619687bc3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/12ee4ecff3224d689e7701ea7ba533ff : SUCCESS in 9m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bfcf19ea09b6455495ca5c15d10fe358 : SUCCESS in 9m 51s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ac88ddae068740cb891a4195677176eb : SUCCESS in 57m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a3a7354ba99f4f678e07df81e5b1289e : SUCCESS in 6m 50s","accounts_in_message":[],"_revision_number":1},{"id":"2a431ffc6e910a9c3607ba9263176e5e164ad81d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-02 20:34:52.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3d8165236ede4b929dbb383caaf6c8eb\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/ec4de4a6df434525a89d61818aaea78e : SUCCESS in 36m 34s","accounts_in_message":[],"_revision_number":1},{"id":"399ffa83befb0b562eacb00313fb85ecbe74f397","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-06-27 07:32:24.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"fc7ce659be4b747f57403ea32a3b9ef37bb9b769","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-27 08:33:39.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/12f78e8958b14a1eb8f3d00f1eef3cce\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/fa62a795632544fb9133546887897116 : SUCCESS in 58m 35s","accounts_in_message":[],"_revision_number":2},{"id":"16d4740f2373b4b83c8db812763b73a3eaa43ae7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-27 08:40:15.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/649b211c1d6a43dc9327e12dfe30bbd5\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/24acfd31140e438ebe842bb4c01830be : SUCCESS in 9m 21s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f5fd50f88f8748b48bc7a39d7bfb2966 : SUCCESS in 4m 37s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/a4805b22d0614bf5a359827bdf2f111e : SUCCESS in 1h 02m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a72335d75e9848c2812fb58ffa1b4220 : SUCCESS in 5m 00s","accounts_in_message":[],"_revision_number":2},{"id":"753f5f3de0ebbba7367d924741ff98b9dbba0e2a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-07-24 11:29:00.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"c3ae6461d5777eb5c36b623a79eedd584c94a677","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-24 12:45:58.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e62dc4f2a7a14e4e94ab87b5f301b40d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3f7cf4579814456b952094f17d2d9d42 : SUCCESS in 7m 18s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/947f9710794c4c46a770c34bc2e7426e : SUCCESS in 5m 52s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/353929fbbd734526a2143f23037b2a51 : SUCCESS in 59m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a0bb1ea9740a4ec6bb4246ee7701e73d : SUCCESS in 5m 54s","accounts_in_message":[],"_revision_number":3},{"id":"d6d1abf925a5d475fce5a0b9981f6df6b6cef82b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-24 12:52:59.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fb075ea3aba343d7b24d381ba681bfbf\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/0453ec8f32ac49499bf2301ba21568ef : SUCCESS in 32m 22s","accounts_in_message":[],"_revision_number":3},{"id":"00eb9b0342af74342d17217123436aa0beb311b8","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"},"date":"2026-07-28 14:50:52.000000000","message":"Patch Set 3: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"f57d20fa4a294e6ffe6646bd0f3fe404cce5a777","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-04 13:52:25.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"c7c7036a01d8fa8cb8993d7b6e1b92447bd02bf8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 15:08:04.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/94d20da7f45147ef87664af3d103eaf7\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0708cfa0f098464bbcc7013bad613d0c : SUCCESS in 10m 53s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0ef60825650f41feb5f22d1366ee2eb2 : SUCCESS in 7m 42s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/6cb1c0a5cac8405986f737511b5366ea : SUCCESS in 1h 06m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3346556cbd724ce583e0cf25f6824228 : SUCCESS in 3m 55s","accounts_in_message":[],"_revision_number":4},{"id":"440c334a6eb32489bfc9d146e70f18765d9abc3d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 15:10:10.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5dc535a55cc942009ae836e646e29ace\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/e1a125da32bf459b95ba5a40be68eebe : SUCCESS in 1h 05m 42s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"c6b2dec1ed3a8288c2eead8487dfcee6b4e66b2f","revisions":{"8d5c3fc696fa6c767ad24027e67506de30ab7480":{"kind":"REWORK","_number":1,"created":"2026-06-02 15:18:21.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/35/991135/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/35/991135/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/35/991135/1"}}},"commit":{"parents":[{"commit":"204704e25f578df244899f1f721cc039d6b37eeb","subject":"proxy: add old-primary recovery phase to replicated GET/HEAD","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/204704e25f578df244899f1f721cc039d6b37eeb"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-06-02 14:01:24.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-06-02 15:17:55.000000000","tz":120},"subject":"probe: test old-primary recovery on a live cluster","message":"probe: test old-primary recovery on a live cluster\n\nTwo ReplProbeTest cases on a replicated SAIO with replicators left\nstopped so data never migrates. A forced rebalance drains one current\nprimary into the history tier and two of three current primaries are\nkilled; the GET path then resolves a never-PUT partition to a definite\n404 and serves a pre-move-PUT object at 200 from the now-old primary\nafter the original and current primaries are wiped.\n\nChange-Id: I53a92ccd77665ddeb25d0cf332bf44b7f34cd6f5\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8d5c3fc696fa6c767ad24027e67506de30ab7480"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8d5c3fc696fa6c767ad24027e67506de30ab7480"}]},"branch":"refs/heads/master"},"0a04b41b1617a38343b7ad2e88c31804b067d192":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-06-27 07:32:24.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/35/991135/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/35/991135/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/35/991135/2"}}},"commit":{"parents":[{"commit":"dca0c2aa2351f5453c2bbc200274d05c6bc9c3b2","subject":"proxy: add old-primary recovery phase to replicated GET/HEAD","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dca0c2aa2351f5453c2bbc200274d05c6bc9c3b2"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-06-02 14:01:24.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-06-27 07:31:53.000000000","tz":120},"subject":"probe: test old-primary recovery on a live cluster","message":"probe: test old-primary recovery on a live cluster\n\nTwo ReplProbeTest cases on a replicated SAIO with replicators left\nstopped so data never migrates. A forced rebalance drains one current\nprimary into the history tier and two of three current primaries are\nkilled; the GET path then resolves a never-PUT partition to a definite\n404 and serves a pre-move-PUT object at 200 from the now-old primary\nafter the original and current primaries are wiped.\n\nChange-Id: I53a92ccd77665ddeb25d0cf332bf44b7f34cd6f5\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0a04b41b1617a38343b7ad2e88c31804b067d192"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0a04b41b1617a38343b7ad2e88c31804b067d192"}]},"branch":"refs/heads/master"},"b2871a1d00b35bbdc28d7c4426798b4d1576c45b":{"kind":"REWORK","_number":3,"created":"2026-07-24 11:29:00.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/35/991135/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/35/991135/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/35/991135/3"}}},"commit":{"parents":[{"commit":"0642fbe805da11f33d37bb7092ef3752e83b317f","subject":"proxy: add old-primary recovery phase to replicated GET/HEAD","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0642fbe805da11f33d37bb7092ef3752e83b317f"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-06-02 14:01:24.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-07-24 11:28:46.000000000","tz":120},"subject":"probe: test old-primary recovery on a live cluster","message":"probe: test old-primary recovery on a live cluster\n\nTwo ReplProbeTest cases on a replicated SAIO with replicators left\nstopped so data never migrates. A forced rebalance drains one current\nprimary into the history tier and two of three current primaries are\nkilled; the GET path then resolves a never-PUT partition to a definite\n404 and serves a pre-move-PUT object at 200 from the now-old primary\nafter the original and current primaries are wiped.\n\nChange-Id: I53a92ccd77665ddeb25d0cf332bf44b7f34cd6f5\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b2871a1d00b35bbdc28d7c4426798b4d1576c45b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b2871a1d00b35bbdc28d7c4426798b4d1576c45b"}]},"branch":"refs/heads/master"},"c6b2dec1ed3a8288c2eead8487dfcee6b4e66b2f":{"kind":"REWORK","_number":4,"created":"2026-09-04 13:52:25.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/35/991135/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/35/991135/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/991135/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/35/991135/4"}}},"commit":{"parents":[{"commit":"76bc7e242b6fd923ea4c41a11b1035c6b88c2630","subject":"proxy: add an old-primary recovery phase to replicated GET/HEAD","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/76bc7e242b6fd923ea4c41a11b1035c6b88c2630"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-04 13:27:51.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-04 13:49:56.000000000","tz":120},"subject":"probe: test old-primary recovery on a live cluster","message":"probe: test old-primary recovery on a live cluster\n\nAdd four ReplProbeTest cases on a replicated SAIO. Each test sets the\nweight of one current primary to 0 and does a rebalance. This moves\nthat device into the history table. The replicators do not run, and\nthe data stays on that device. The test then stops the current\nprimaries, and only the old primary can answer.\n\nTwo tests show the correct recovery. The proxy gives a 200 for an\nobject that a client wrote before the move, after the test deletes the\ndata from the current primaries. The proxy gives a 404 for a partition\nwith no data, and not a 503.\n\nTwo tests show the limits of this recovery. An old primary knows only\nthe state from the time when it held the partition. The proxy gives a\n404 for an object that a client wrote after the move. The proxy gives\na 200 for an object that a client deleted after the move.\n\nChange-Id: I53a92ccd77665ddeb25d0cf332bf44b7f34cd6f5\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c6b2dec1ed3a8288c2eead8487dfcee6b4e66b2f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c6b2dec1ed3a8288c2eead8487dfcee6b4e66b2f"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
