)]}'
{"id":"openstack%2Fswift~969365","triplet_id":"openstack%2Fswift~master~I3874430bdeaf579ad5d715e3093badc150e5853a","project":"openstack/swift","branch":"master","topic":"p-timestamp-collision","attention_set":{},"removed_from_attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2025-12-24 16:36:54.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I3874430bdeaf579ad5d715e3093badc150e5853a","subject":"container_sync: compare timestamps with .normal x-timestamp responses","status":"ABANDONED","created":"2025-12-03 10:04:00.000000000","updated":"2025-12-24 16:36:54.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"c52bc9f528c4bb6b6934877f857e9ffc77adb765","_number":969365,"virtual_id_number":969365,"owner":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2025-12-04 07:17:44.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":"2025-12-03 11:13:09.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":"cc86e31c2a991193476f099d19957bcfd6fe9eb2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-12-03 10:04:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d636e5b1a8c9c23aa0e5b1b2a2ad42bfebbdfb56","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-03 11:13:09.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/87b67a9e254641709a63b9460cbd9ca1\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e6877b17404c4eed96900c0a7ce4fe6d : SUCCESS in 5m 56s\n- grenade https://zuul.opendev.org/t/openstack/build/77a0e5ecbfff4603b59568c1a1d0b04c : SUCCESS in 59m 12s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b5b65d6569ea4c90a45e8c67bd3a1882 : SUCCESS in 1h 08m 06s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/38ff1a23302e4a45b585bd643e890bdb : SUCCESS in 37m 02s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/afc77d83155e40ec9a3d6ab1b565d85f : SUCCESS in 1h 01m 00s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/76cdb4e3b0574ea396e5c0aa4623e89f : SUCCESS in 19m 02s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/55b080ff9dd44301bbb7745640e6e9d0 : SUCCESS in 12m 04s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9980bb9d81734f3fadc922de02958828 : SUCCESS in 11m 01s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/95d1cc392b2c47e192fdaf96ae77ebde : SUCCESS in 6m 38s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/7d8a170471034e04b02f153b03142de9 : FAILURE in 28m 51s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/bfd90c54169d448d9b781ea07139fb42 : FAILURE in 23m 54s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/e454453b5bcc4d9681ccfbb52a9df831 : FAILURE in 31m 02s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/1e9488043d0e4a4bbc180051ef729a00 : FAILURE in 14m 02s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/512a9f26082e49daabe4e87546c6f45d : SUCCESS in 15m 17s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4f2d115f7a5c4c49a17659a3475af866 : SUCCESS in 8m 23s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b5dd063d45284ff39b8554147a16e39c : SUCCESS in 15m 13s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/71c6604bfb53487aabc3c445a8e66ab9 : SUCCESS in 4m 11s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/cc4bd03f74744abfa1b2b2dd1a9b4d07 : FAILURE in 18m 41s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/eb9701351f59430aaafe8f271e0edd56 : SUCCESS in 6m 56s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/842635d321854544a64d0dbfbb5b39d1 : FAILURE in 1h 00m 16s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/3a9271228581401582d85edd43997929 : SUCCESS in 48m 33s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/427454fcce384efe8b4a91a32e8a343e : SUCCESS in 54m 40s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ecd9a994ae3f415dafcbd9d10be21650 : FAILURE in 31m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f7076893e54d44578f90e2df12e91be5 : FAILURE in 3m 10s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/d92efad4a0944fac8e4f459a8d90b46d : SUCCESS in 9m 26s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/154e8714cd82446e8ef6b183a32d5cc5 : SUCCESS in 34m 00s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5d85de49854f44a4a342034c654ee5f2 : SUCCESS in 1h 00m 08s\n\nWarning:\n  Comments left for invalid file test/unit/common/middleware/test_object_versioning.py\n  Comments left for invalid file test/unit/obj/test_ssync_sender.py","accounts_in_message":[],"_revision_number":1},{"id":"c90e7533819cc6097c2f6cb83885038a9f73aece","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-03 11:28:51.000000000","message":"Patch Set 1:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fae51a22cc4145c38f65d203d4c0cd73\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/cf46f631a9404fab9842d6ad9873b7dd : FAILURE in 35m 11s","accounts_in_message":[],"_revision_number":1},{"id":"a6c3690ad68ad6e0fdd31c8291d1b8cdc2f61cba","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-12-04 06:07:12.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"01290dd037030ab86e5371c2741e7fb2ff1204e2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-04 07:17:44.000000000","message":"Patch Set 2: 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/c9a3c9ffda0b409999069cb4ea764e7c\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6a68ef7332ff4652a6fb7bbbaa3a9889 : SUCCESS in 6m 14s\n- grenade https://zuul.opendev.org/t/openstack/build/7c1d5044d7f34ebe95e123e6396235b7 : SUCCESS in 31m 46s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/912ad99d3522418fae0df0d1f62287a1 : SUCCESS in 57m 15s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/514b6fd9f1974dae96d39e6b84949389 : SUCCESS in 52m 55s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b2b79d6c0522491986030e4adfc9a4e9 : SUCCESS in 50m 47s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b6f67dd0c08f40c3b51e96c6e228876a : SUCCESS in 19m 17s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/33e993a1861e401ca88fce84c55cec80 : SUCCESS in 19m 21s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ba3b783cb0e241ccb6a180c5de8e2244 : SUCCESS in 19m 26s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0613d0441ac44fcfbf564fd7d8e63cc9 : SUCCESS in 6m 43s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/7eb00dd1837940d5a46d62229f55c476 : FAILURE in 25m 01s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/d297c51d3c664c018efb85848f9dc84f : FAILURE in 9m 59s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/99cec083ad7841cfab5993c220235b34 : FAILURE in 12m 34s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/b9075b29e5c14e029f04cf61236394a4 : FAILURE in 13m 51s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/eedca91b5a644844b9224ff07c5b7a93 : SUCCESS in 8m 59s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2151f7740c6049d389adb272d8dfb300 : SUCCESS in 9m 10s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/a20cee111d7d47edb93512cd928d2500 : SUCCESS in 14m 41s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/1bde9bcbc33f4231be617c6f6410b94a : SUCCESS in 4m 44s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e2c5ef6fc927406690f80b989c593336 : FAILURE in 16m 49s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/f99a05c38c8945c7a290b5905d96080e : SUCCESS in 7m 43s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/aeec23cb33a34036b69e654f82b4cdc0 : FAILURE in 35m 54s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8026cea2da26472d9264cb1caf415d76 : SUCCESS in 44m 20s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/de95966a1bec4a2783951a8808e2f5a6 : SUCCESS in 47m 17s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/be91969c7c8a4ee485bf0a07029b7edd : FAILURE in 30m 51s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f09d3c67430940528d40f155d503f57f : FAILURE in 3m 12s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/09ee4bcb5548433fa8ee678d949d9777 : SUCCESS in 15m 30s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/5debbaceabae4a53aa1476f0894657e4 : SUCCESS in 55m 14s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0e63eb9cd32f4b74a67e897912edb2a0 : SUCCESS in 31m 38s\n\nWarning:\n  Comments left for invalid file test/unit/common/middleware/test_object_versioning.py\n  Comments left for invalid file test/unit/obj/test_ssync_sender.py","accounts_in_message":[],"_revision_number":2},{"id":"441c485228315d1e28319697be86ae38f4d021b9","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-04 07:41:32.000000000","message":"Patch Set 2:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b15418696c8142babd5ea37593401b9c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b8bc6b9a8d074bffb673934a662e88c6 : FAILURE in 1h 30m 18s","accounts_in_message":[],"_revision_number":2},{"id":"c52bc9f528c4bb6b6934877f857e9ffc77adb765","tag":"autogenerated:gerrit:abandon","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-12-24 16:36:54.000000000","message":"Abandoned\n\nsquashed into https://review.opendev.org/c/openstack/swift/+/967738","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"fab84d1f632422acabca5e2c1bbf47d2427d99ff","revisions":{"e2b0c2fb1c8101e6cdfeea5e7f7c6b35cbaf601d":{"kind":"REWORK","_number":1,"created":"2025-12-03 10:04:00.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/65/969365/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/65/969365/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/65/969365/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/65/969365/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/65/969365/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/65/969365/1"}}},"commit":{"parents":[{"commit":"3361dd86bb875430d1d7b1a7a3da9c7e486474cd","subject":"ssync: supporting timetamps with jitter","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3361dd86bb875430d1d7b1a7a3da9c7e486474cd"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-12-03 10:02:18.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-12-03 10:02:18.000000000","tz":660},"subject":"container_sync: compare timestamps with .normal x-timestamp responses","message":"container_sync: compare timestamps with .normal x-timestamp responses\n\nContainer_sync when looking to sync an object, either by getting or\nheading and object it then looks to see if it\u0027s returned timestamp is\nless then the current. However the returned timestamp from a HEAD of a\nGET response will be a Timestamp.normal timestamp and we compare it to\none with a jitter.\n\nMeaning the same file will always look older:\n\n     00001.200000_00000000 \u003c 00001.200000_20000000\n\nThis patch, When were making a comparison between objects, especially in\ncontainer sync which is trying to keep them in sync. We need to only\ncheck timestamp.normal versions:\n\n     00001.200000 \u003c 00001.200000\n\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\nChange-Id: I3874430bdeaf579ad5d715e3093badc150e5853a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e2b0c2fb1c8101e6cdfeea5e7f7c6b35cbaf601d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e2b0c2fb1c8101e6cdfeea5e7f7c6b35cbaf601d"}]},"branch":"refs/heads/master"},"fab84d1f632422acabca5e2c1bbf47d2427d99ff":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2025-12-04 06:07:12.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/65/969365/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/65/969365/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/65/969365/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/65/969365/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/65/969365/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/65/969365/2"}}},"commit":{"parents":[{"commit":"86ddce8312e9b2f17c6543aa1f4660daa74d5a80","subject":"ssync: supporting timetamps with jitter","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/86ddce8312e9b2f17c6543aa1f4660daa74d5a80"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-12-03 10:02:18.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-12-04 06:05:48.000000000","tz":660},"subject":"container_sync: compare timestamps with .normal x-timestamp responses","message":"container_sync: compare timestamps with .normal x-timestamp responses\n\nContainer_sync when looking to sync an object, either by getting or\nheading and object it then looks to see if it\u0027s returned timestamp is\nless then the current. However the returned timestamp from a HEAD of a\nGET response will be a Timestamp.normal timestamp and we compare it to\none with a jitter.\n\nMeaning the same file will always look older:\n\n     00001.200000_00000000 \u003c 00001.200000_20000000\n\nThis patch, When were making a comparison between objects, especially in\ncontainer sync which is trying to keep them in sync. We need to only\ncheck timestamp.normal versions:\n\n     00001.200000 \u003c 00001.200000\n\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\nChange-Id: I3874430bdeaf579ad5d715e3093badc150e5853a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fab84d1f632422acabca5e2c1bbf47d2427d99ff"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fab84d1f632422acabca5e2c1bbf47d2427d99ff"}]},"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":{}}}]}
