)]}'
{"id":"openstack%2Fswift~991446","triplet_id":"openstack%2Fswift~master~I7f3fbf9da031d1a8c17bffada2727c9c4dec6dd2","project":"openstack/swift","branch":"master","topic":"p-timestamp-offset","attention_set":{},"removed_from_attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-07-02 16:25:14.000000000","reason":"\u003cGERRIT_ACCOUNT_7847\u003e replied on the change","reason_account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}},"hashtags":[],"change_id":"I7f3fbf9da031d1a8c17bffada2727c9c4dec6dd2","subject":"WIP timestamps: add uid property and use it for version-ids","status":"NEW","created":"2026-06-03 15:47:18.000000000","updated":"2026-07-02 16:25:14.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"223f4ec263387756e406aeb7851403384bb1dde4","_number":991446,"virtual_id_number":991446,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-06-03 17:21:33.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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"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":{"rejected":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":-1,"date":"2026-07-02 16:25:14.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-03 17:21:33.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-06-10 05:06:28.000000000","updated_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"CC"}],"messages":[{"id":"59401eef8bb5ff7ad9fb39fb08b60f785c995dd9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-06-03 15:47:18.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"76d2492f43a30d7563ce8f188bff3457d5489db3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-03 17:21:33.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9f6430aa38ca4ef58295fc514716fc41\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/71a160ff926b4fa9be4bc710378c94f5 : SUCCESS in 10m 18s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2811c9b0ec33462c8c93b8a477fad359 : SUCCESS in 10m 09s\n- grenade https://zuul.opendev.org/t/openstack/build/f31456b1e1484d8cbca45549dd70e294 : SUCCESS in 35m 00s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/bfbea39b3d44406babbe0309dfc6dcb4 : SUCCESS in 1h 05m 22s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/830df510ba85485c848811743095e708 : SUCCESS in 1h 02m 49s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c83e21f925cf479caeefb330b087f8d4 : SUCCESS in 1h 10m 17s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7127c7f9329748c498da04dbcfde8eb9 : SUCCESS in 19m 57s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0fdac8c4c270436e99576f4cc8e04aba : SUCCESS in 23m 07s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/10aca0cb9c8f4367a7cb5577316916b1 : SUCCESS in 11m 43s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8a1ea98436dd44d98a6ad450b4bcd91b : SUCCESS in 7m 50s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1f95370d590a4e09abfb15499d95388f : SUCCESS in 27m 39s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/fa815d6e41db4e91b66ac2c9bb2b98ac : SUCCESS in 12m 04s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/6348aa52db834cbd8c356a50ccdb6002 : SUCCESS in 19m 58s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f4cdde2e442044ccaabbf06037befdef : SUCCESS in 22m 37s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/d0559ffdd89d4e7681447faff70ce9f6 : SUCCESS in 16m 30s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2d77e9df32d04153a92f821a5745d3f8 : SUCCESS in 19m 48s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/ca22b9a06534479ebed1ee4dfce122de : SUCCESS in 18m 35s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/281682e74cee46de9519ffbad350227b : SUCCESS in 6m 04s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b618de14ab66428194218763a76f253f : SUCCESS in 20m 59s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/7d55cc83041c45979f54258c13ac4b48 : SUCCESS in 9m 27s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/50b0b2a73ec747aebacfc104140363f2 : SUCCESS in 1h 02m 39s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8272ee1b42d54fa6b3eb4b95760c2aea : SUCCESS in 52m 47s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/271993260956495d8e897e1b047dad12 : SUCCESS in 57m 20s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7c163969a2df40d48964f3c76f87dfd1 : SUCCESS in 24m 35s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/673ad3ba15c94bdca697b593feebe8c7 : SUCCESS in 6m 26s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8aa333e3155544748995edf9bd14aff3 : SUCCESS in 21m 38s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b7d2e2c09bbe432fa870ebd5aed93882 : SUCCESS in 40m 13s","accounts_in_message":[],"_revision_number":1},{"id":"c4266163024f46f9729c988df126126561ac1dc2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-03 21:51:01.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a1083ae97a334c21b05c92a3d45d7f0c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/8ca74fd101374733b91a69e60c78e81d : SUCCESS in 28m 43s","accounts_in_message":[],"_revision_number":1},{"id":"d90e5656ff95f5aeaa8b2c0998661f25342e0412","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-06-10 05:06:28.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"223f4ec263387756e406aeb7851403384bb1dde4","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-07-02 16:25:14.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"a0b6e088a427ec9b230829f290a7434dcba989d8","revisions":{"a0b6e088a427ec9b230829f290a7434dcba989d8":{"kind":"REWORK","_number":1,"created":"2026-06-03 15:47:18.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/46/991446/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/46/991446/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/46/991446/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/46/991446/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/46/991446/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/46/991446/1"}}},"commit":{"parents":[{"commit":"7e58e27719d7e58e077654f9f9f32bc9a64b446e","subject":"timestamp: allow offset to be set to zero","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7e58e27719d7e58e077654f9f9f32bc9a64b446e"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-06-03 14:24:12.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-06-03 15:46:55.000000000","tz":60},"subject":"WIP timestamps: add uid property and use it for version-ids","message":"WIP timestamps: add uid property and use it for version-ids\n\nTODO: is uid a good name for the new representation? The name needs to\nmake sense in BaseTimestamp, so \u0027without_offset\u0027 is not a good choice\nfor example.\n\nAn object variant\u0027s unique id is defined by its Timestamp, except for\nthe offset part which is mutable. The offset should therefore not be\nincluded in the object\u0027s version-id.\n\nObject variants that are copied from the user container to the\nversions container may have Timestamps with offsets if the object has\nbeen moved by the reconciler. The offset should be ignored when\ncreating version-ids for these versions.\n\nTo facilitate this change in object versioning, this patch adds a\nTimestamp.uid property that returns the full string representation of\na timestamp with its offset forced to zero.\n\nObject versions that written directly by clients will by default have\nTimestamps with zero offset.\n\nChange-Id: I7f3fbf9da031d1a8c17bffada2727c9c4dec6dd2\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a0b6e088a427ec9b230829f290a7434dcba989d8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a0b6e088a427ec9b230829f290a7434dcba989d8"}]},"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","applied_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}]}],"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":["label:Workflow\u003dMIN"],"failing_atoms":["label:Workflow\u003dMAX"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
