)]}'
{"id":"openstack%2Fswift~1005960","triplet_id":"openstack%2Fswift~master~I429ebdcc6223aa9aecbe318937f1553d8117385f","project":"openstack/swift","branch":"master","topic":"quarantine-damaged-dbs","attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-09-16 20:59:42.000000000","reason":"Reviewer was added"},"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2026-09-16 20:59:42.000000000","reason":"Reviewer was added"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I429ebdcc6223aa9aecbe318937f1553d8117385f","subject":"tests: Probe DB quarantine and recovery","status":"NEW","created":"2026-09-16 20:59:42.000000000","updated":"2026-09-17 21:47:49.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"3a1677cb10857d3de5f98c9ca2a041d36cd95fa8","_number":1005960,"virtual_id_number":1005960,"owner":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-17 21:47:49.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":-2,"max":2},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"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":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-16 20:59:42.000000000","updated_by":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"REVIEWER"},{"updated":"2026-09-16 20:59:42.000000000","updated_by":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2026-09-16 21:56:19.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"}],"messages":[{"id":"79a037b1c1d1f53d315841d80d21d5ff0d1ce15e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-09-16 20:59:42.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"18f1e08229a64448f4a6f8344d745b7386ccdf40","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-09-16 21:04:42.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased. Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"20e6d2d3dfeb451d711b6406aff01a4772db0513","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 21:56:19.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/55707917234e4fd7a31065b16c4fb53b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f468d1e8992b4c94adcc2eda544493cc : SUCCESS in 5m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/dbb98b13090e4e619a7da298e1e90575 : SUCCESS in 5m 31s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/66dd672c0ad14d4b962d12408df0e1c4 : SUCCESS in 47m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d5b58805577640f59089bf61cb672eff : SUCCESS in 2m 47s","accounts_in_message":[],"_revision_number":2},{"id":"cadebfb9bb4a93dcbad36cce1fbde55c559d2d99","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 22:38:04.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c6ac3ec38da041ec884a080fb725b01a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c7f3a460948941498b7d5ce3b6728b51 : SUCCESS in 33m 07s","accounts_in_message":[],"_revision_number":2},{"id":"191ef70a0f5b9870cd5ed428b2c3ca2370c0c677","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-09-17 20:44:10.000000000","message":"Uploaded patch set 3: Commit message was updated.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"5c0044d74a83ea2e5069957d2f9535c2f5734849","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-17 21:41:51.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6ce7e3cc67424d3d8638d90ddb3f5e39\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c7832df4d8434cbdab53940e99fbcabb : SUCCESS in 55m 36s","accounts_in_message":[],"_revision_number":3},{"id":"3a1677cb10857d3de5f98c9ca2a041d36cd95fa8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-17 21:47:49.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c5e62264960547eaa852ce197fc1377c\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9a11a20badea4179ab212bc4989c343d : SUCCESS in 6m 20s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/cf7554d9877242bdaa1e6d9a01ef8e4a : SUCCESS in 5m 01s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/593479c9d671419e8fb171d19acaf2aa : SUCCESS in 58m 49s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2177dc6edca843669c9326c40c933052 : SUCCESS in 3m 58s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"d318d28223ee7ae9dd39c6ae91727765ea150d60","revisions":{"30deb1ef3e6f2fd1f88a006860abf9d124045fd4":{"kind":"REWORK","_number":1,"created":"2026-09-16 20:59:42.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/60/1005960/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/1005960/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1005960/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1005960/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1005960/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/1005960/1"}}},"commit":{"parents":[{"commit":"f6243ebd8cc8509b84e6223d624e1b7880b7884f","subject":"tests: Cover quarantine of partially truncated account DBs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f6243ebd8cc8509b84e6223d624e1b7880b7884f"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-16 00:05:42.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-16 16:45:15.000000000","tz":-420},"subject":"tests: Probe quarantine and recovery of damaged DBs","message":"tests: Probe quarantine and recovery of damaged DBs\n\nCover, end to end, what the tree already does with a damaged replica of an\naccount or container database. No behavior changes here; these cases\ncharacterize existing handling.\n\nEach case damages one of the three replicas, runs a single daemon on the node\nholding it, and asserts the database was moved under\n\u003cdevice\u003e/quarantined/\u003cdatadir\u003e/. It then runs replication and asserts that\nnode serves the full listing again, so the cover is end to end rather than a\ncheck that a file moved. The replicator quarantines both a partially\ntruncated database and an emptied one; the auditor quarantines a partially\ntruncated one.\n\nThe auditor does not currently quarantine an emptied account or container\ndatabase; this is a known gap to be addressed in the future.\n\nReplProbeTest.get_account_db_files() returns the on-disk path of each\nreplica of an account database, as get_container_db_files() already does for\ncontainers.\n\nAssisted-By: Claude:opus-5\nChange-Id: I429ebdcc6223aa9aecbe318937f1553d8117385f\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/30deb1ef3e6f2fd1f88a006860abf9d124045fd4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/30deb1ef3e6f2fd1f88a006860abf9d124045fd4"}]},"branch":"refs/heads/master"},"4231a034b87bb818fa0d5bc83251fbe66ac89fc4":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":2,"created":"2026-09-16 21:04:42.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/60/1005960/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/1005960/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1005960/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1005960/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1005960/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/1005960/2"}}},"commit":{"parents":[{"commit":"0ca5c9360bf1095b19ecbcf7e046131764a87813","subject":"tests: Cover quarantine of partially truncated account DBs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0ca5c9360bf1095b19ecbcf7e046131764a87813"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-16 00:05:42.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-16 21:03:28.000000000","tz":-420},"subject":"tests: Probe quarantine and recovery of damaged DBs","message":"tests: Probe quarantine and recovery of damaged DBs\n\nCover, end to end, what the tree already does with a damaged replica of\nan account or container database. No behavior changes here; these cases\ncharacterize existing handling.\n\nEach case damages one of the three replicas, runs a single daemon on the\nnode holding it, and asserts the database was moved under\n\u003cdevice\u003e/quarantined/\u003cdatadir\u003e/. It then runs replication and asserts\nthat node serves the full listing again, so the cover is end to end\nrather than a check that a file moved. The replicator quarantines both a\npartially truncated database and an emptied one; the auditor quarantines\na partially truncated one.\n\nThe auditor does not currently quarantine an emptied account or\ncontainer database; this is a known gap to be addressed in the future.\n\nReplProbeTest.get_account_db_files() returns the on-disk path of each\nreplica of an account database, as get_container_db_files() already does\nfor containers.\n\nAssisted-By: Claude:opus-5\nChange-Id: I429ebdcc6223aa9aecbe318937f1553d8117385f\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4231a034b87bb818fa0d5bc83251fbe66ac89fc4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4231a034b87bb818fa0d5bc83251fbe66ac89fc4"}]},"branch":"refs/heads/master"},"d318d28223ee7ae9dd39c6ae91727765ea150d60":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2026-09-17 20:44:10.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/60/1005960/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/1005960/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1005960/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1005960/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1005960/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/1005960/3"}}},"commit":{"parents":[{"commit":"aac69922ea9669b62d294b5882a2e4e648d0666b","subject":"tests: Quarantine a partially truncated account DB","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aac69922ea9669b62d294b5882a2e4e648d0666b"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-16 00:05:42.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-17 16:39:10.000000000","tz":-420},"subject":"tests: Probe DB quarantine and recovery","message":"tests: Probe DB quarantine and recovery\n\nCover, end to end, what the tree already does with a damaged replica of\nan account or container database. No behavior changes here; these cases\ncharacterize existing handling.\n\nEach case damages one of the three replicas, runs a single daemon on the\nnode holding it, and asserts the database was moved under\n\u003cdevice\u003e/quarantined/\u003cdatadir\u003e/. It then runs replication and asserts\nthat node serves the full listing again, so the cover is end to end\nrather than a check that a file moved. The replicator quarantines both a\npartially truncated database and an emptied one; the auditor quarantines\na partially truncated one.\n\nThe auditor does not currently quarantine an emptied account or\ncontainer database; this is a known gap to be addressed in the future.\n\nReplProbeTest.get_account_db_files() returns the on-disk path of each\nreplica of an account database, as get_container_db_files() already does\nfor containers.\n\nAssisted-By: Claude:opus-5\nChange-Id: I429ebdcc6223aa9aecbe318937f1553d8117385f\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d318d28223ee7ae9dd39c6ae91727765ea150d60"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d318d28223ee7ae9dd39c6ae91727765ea150d60"}]},"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":""}}}]}
