)]}'
{"id":"openstack%2Fswift~982705","triplet_id":"openstack%2Fswift~master~I532ebfd92d104400b7671d54d21a627a10f7bc10","project":"openstack/swift","branch":"master","topic":"test-version-null","attention_set":{},"removed_from_attention_set":{"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2026-04-10 21:50:48.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I532ebfd92d104400b7671d54d21a627a10f7bc10","subject":"WIP: ?version_marker\u003dnull treat null as newest","status":"ABANDONED","created":"2026-03-30 18:19:55.000000000","updated":"2026-04-10 21:50:48.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"59e7206aeb762a14d6e97217e04e121c0d7e5580","_number":982705,"virtual_id_number":982705,"owner":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-03-30 22:45:02.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":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":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"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-30 19:27:15.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":"9de93fa514d173e504c035bbda3ebcda28584af3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-03-30 18:19:55.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"325d3d43c0ed4574e30cbe3becd4dc1ba12366e3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-30 19:27:15.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/825dfdd722c147f3859927ae7b3cedbe\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4f684a0395be451e8c0e3cf3c31ac8d1 : SUCCESS in 6m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/e21fa70a1e2244c28fc823ee449489d9 : SUCCESS in 37m 53s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/23c4a627ee594a3091af987f8bd59f52 : SUCCESS in 36m 45s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7e56c4fc8e34437ca3edc7cee070474a : SUCCESS in 39m 00s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/bc298d934ad94135a9931c45c58287c0 : SUCCESS in 1h 02m 15s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6e5bf66882154bef9625c6cc80596e7d : FAILURE in 11m 35s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fc4e08aafa2b4a22a72dfebe4a850ea0 : FAILURE in 21m 55s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/18b300e430314fafb49efa6b187d9ce5 : FAILURE in 22m 10s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/37e002af7c9849de85e9d050039a2cfc : SUCCESS in 5m 49s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/75416d212645444c9d636ace7e1f5137 : SUCCESS in 24m 39s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/94a31c58e8a64b6abcd391c835cbb7fe : SUCCESS in 26m 44s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/982aa613ed9b4e49a072203bfd1d89c5 : SUCCESS in 10m 50s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/adb1577a60d6439db223a99a21af7c82 : SUCCESS in 23m 41s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/7cdc5de7066642c99a6828032b2c011d : FAILURE in 14m 45s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/d5d2172dba5e410692602fa34e42b766 : FAILURE in 9m 37s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0788eafa0a404b7ab569a0d55f7533e2 : FAILURE in 15m 13s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ef9bfa0a89574b4d957f8f508499141f : SUCCESS in 3m 40s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ba862173ab4b4ffd95ba0e09e3494187 : SUCCESS in 15m 16s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/8dcf9c0596d84166a3b51a5e812ab51f : SUCCESS in 8m 17s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4b4753d3b69a420899cd70fc158e2bf3 : SUCCESS in 59m 39s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7f5f03527f994a258e61e5f19c92f601 : FAILURE in 29m 07s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/08bc497a8c1641659ce0f5e8697c33d4 : FAILURE in 13m 48s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c527b51e9a984527bac317e46dbc2b46 : SUCCESS in 31m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/11f562f64ac447d39c6daa91eaae8103 : SUCCESS in 2m 27s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c0ba381b5cd040219490a8464f0ab02f : SUCCESS in 11m 23s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/856813c7200547c9be181e99d69d4bcb : SUCCESS in 1h 01m 37s","accounts_in_message":[],"_revision_number":1},{"id":"13ecd3e9321229939a59b6d1ecd608a160979a01","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-30 20:44:45.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/37d4cadfcea24dab8202a1c91f3c5a24\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/718955789e194998a333cc17ffff9b8b : SUCCESS in 29m 21s","accounts_in_message":[],"_revision_number":1},{"id":"ce923800195d7a30ea45329fd4c7064ba45dc0a2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-03-30 21:37:00.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"6787fbd4680920d4c12259d1fbe1e4557dc3c7f1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-30 22:08:22.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3347ac939ef347e7844078f853f58cf7\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/76fd6cb8612e4ae7945656b9bfe27a53 : SUCCESS in 29m 36s","accounts_in_message":[],"_revision_number":2},{"id":"5e18226661f5c06920799c25fa6a16813f90fe2f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-30 22:45:02.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d92f80083cd74ed9b4af9a2e0197d350\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a8913e5a97aa449684acab86ce55a3bc : SUCCESS in 4m 57s\n- grenade https://zuul.opendev.org/t/openstack/build/ea35d1e716174cf987734a2777f8b397 : SUCCESS in 53m 47s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/3f16c966d4ee4871a755a1b9c3183190 : SUCCESS in 29m 23s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/5faaa14a676b416fa49ffc1f32ada663 : SUCCESS in 44m 43s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/8806276e1d564e9db4ad63e4c3b11089 : SUCCESS in 1h 05m 00s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7242a114af38470b941958b7c32d474d : SUCCESS in 21m 16s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/49d7dc8f7b4a449d8758f30e73bfd915 : SUCCESS in 10m 22s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eff92049fc3d4f67aa15e0ebe05bf720 : SUCCESS in 14m 56s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3850c33e38d5454fb80acc797b37fd1e : SUCCESS in 8m 42s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e6830c1c5625442f98759903cdcf5fcd : SUCCESS in 10m 17s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/aef8c68e43b64c868778b57e86526743 : SUCCESS in 21m 28s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/154f416131a2459d836e330f71bb4cf2 : SUCCESS in 29m 22s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/2ad0960f5c1144c8a76ec80aadc7a712 : SUCCESS in 15m 58s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c31c98ce4fb64727a735201df2e0c361 : SUCCESS in 13m 53s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ac28d8b9bd2e4d9e83d1618528adc6c8 : SUCCESS in 15m 12s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/5c5486bf7f9e4b71ace7c6437479f2b2 : SUCCESS in 17m 00s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/87662dc81915494a826e378ff4151a74 : SUCCESS in 4m 47s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/111e366b9eaf4d5cb665b929436b2433 : SUCCESS in 10m 44s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2d950ddd814146b295dc633838437143 : SUCCESS in 6m 11s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/1e1ea170ff624491942e64b3387546d9 : SUCCESS in 41m 54s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/fb75db9e454c405aa9c6ff0960816544 : SUCCESS in 53m 20s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/66e9435eb7a443ebab86303fce5c135d : SUCCESS in 22m 33s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5aa87253acb94557b3bdebe95de97461 : SUCCESS in 10m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/39c5650b768a43408a42e871609d7d01 : SUCCESS in 2m 38s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/0f9890ba38394ad7a3e0916a20a03bd2 : SUCCESS in 20m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6881ba879f6f4079adbd2036497f7e0e : SUCCESS in 30m 33s","accounts_in_message":[],"_revision_number":2},{"id":"59e7206aeb762a14d6e97217e04e121c0d7e5580","tag":"autogenerated:gerrit:abandon","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-04-10 21:50:48.000000000","message":"Abandoned\n\n982769: versioning: fix listing gap when version_marker\u003dnull | https://review.opendev.org/c/openstack/swift/+/982769","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"9bc17df39be968c77815d3851b637f9aab462f96","revisions":{"65d80070863043e946db0a89255192ca737845f8":{"kind":"REWORK","_number":1,"created":"2026-03-30 18:19:55.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/05/982705/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/05/982705/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/982705/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/982705/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/982705/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/05/982705/1"}}},"commit":{"parents":[{"commit":"52abfba659d1b08c65f7a6dc4d8267c02d0b450b","subject":"versioning: fix version listing marker name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/52abfba659d1b08c65f7a6dc4d8267c02d0b450b"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-03-30 18:04:16.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-03-30 18:18:51.000000000","tz":-300},"subject":"WIP: ?version_marker\u003dnull treat null as newest","message":"WIP: ?version_marker\u003dnull treat null as newest\n\nI think semantically we already call null the newest version, if you try\nto overwrite a existing null version with versioning eanbled it grows a\nversion number, so the only practical way you get multiple versions of\nthe same name with version_id\u003dnull in the listing is turning OFF\nversioning, and then the version_id\u003dnull version is the newest.\n\nGiven the way that version_marker works with listing all other\nversion_ids\u003d I assume we would want it to work basically the same way\nwith paging through all versions; otherwise I *think* if a null version\nis the last version in a page you skip all other versions of that name.\n\nFWIW I *think* AWS S3 treats VersionKeyId\u003dnull basically like this when\nI tested it.\n\nTODO: port probetest to unittest(s) and add s3api cross-compat test(s)\n\nRelated-Change-Id: I4b619bc20316eed61ca257a151fcca4f18c9af76\nChange-Id: I532ebfd92d104400b7671d54d21a627a10f7bc10\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/65d80070863043e946db0a89255192ca737845f8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/65d80070863043e946db0a89255192ca737845f8"}]},"branch":"refs/heads/master"},"9bc17df39be968c77815d3851b637f9aab462f96":{"kind":"REWORK","_number":2,"created":"2026-03-30 21:37:00.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/05/982705/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/05/982705/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/982705/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/982705/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/982705/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/05/982705/2"}}},"commit":{"parents":[{"commit":"52abfba659d1b08c65f7a6dc4d8267c02d0b450b","subject":"versioning: fix version listing marker name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/52abfba659d1b08c65f7a6dc4d8267c02d0b450b"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-03-30 18:04:16.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-03-30 21:36:51.000000000","tz":-300},"subject":"WIP: ?version_marker\u003dnull treat null as newest","message":"WIP: ?version_marker\u003dnull treat null as newest\n\nI think semantically we already call null the newest version, if you try\nto overwrite a existing null version with versioning eanbled it grows a\nversion number, so the only practical way you get multiple versions of\nthe same name with version_id\u003dnull in the listing is turning OFF\nversioning, and then the version_id\u003dnull version is the newest.\n\nGiven the way that version_marker works with listing all other\nversion_ids\u003d I assume we would want it to work basically the same way\nwith paging through all versions; otherwise I *think* if a null version\nis the last version in a page you skip all other versions of that name.\n\nFWIW I *think* AWS S3 treats VersionKeyId\u003dnull basically like this when\nI tested it.\n\nTODO: port probetest to unittest(s) and add s3api cross-compat test(s)\n\nRelated-Change-Id: I4b619bc20316eed61ca257a151fcca4f18c9af76\nChange-Id: I532ebfd92d104400b7671d54d21a627a10f7bc10\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9bc17df39be968c77815d3851b637f9aab462f96"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9bc17df39be968c77815d3851b637f9aab462f96"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"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":{}}},{"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":{}}},{"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":{}}}]}
