)]}'
{"id":"openstack%2Fswift~968764","triplet_id":"openstack%2Fswift~master~I1599095f20396086927c8f44f2a792e0a9ffe82c","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-02 22:45:04.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I1599095f20396086927c8f44f2a792e0a9ffe82c","subject":"ssync: supporting timetamps with jitter","status":"ABANDONED","created":"2025-11-28 04:50:43.000000000","updated":"2025-12-02 22:45:04.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"9a3d0c2a8b802dfc989096b2b4a9b99412f50883","_number":968764,"virtual_id_number":968764,"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-11-30 23:29: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":-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-11-28 05:53:04.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":"CC"},{"updated":"2025-11-28 05:54:44.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":"d7954c5d72aaee20739b45f84ecb680f19bf1be4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-11-28 04:50:43.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e5b942812f4df61211e1e657dc65aa116b2417a7","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-28 05:53:04.000000000","message":"Patch Set 1:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8ca3b151bc0a4ae19d8bde37b5a62716\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6fccff9cb9074c0591711d8958567376 : FAILURE in 59m 16s","accounts_in_message":[],"_revision_number":1},{"id":"13a8b29a44c15421858ebd138e3cda12d26b465a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-28 05:54:44.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/31933f62a89a41f695fce4dd756dc0f5\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1689465eb58d4ab898845c6385b15eb9 : SUCCESS in 9m 19s\n- grenade https://zuul.opendev.org/t/openstack/build/cab749934ea74d689bb31f2498cee668 : SUCCESS in 40m 55s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0f69f118c4304140bc16e8d5ed750d4b : SUCCESS in 56m 17s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6c14b06b88d4423fb21b34dd42c60e03 : SUCCESS in 36m 02s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/dc0c02f0e846438885ec485b2597b946 : SUCCESS in 45m 52s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b1a3a1a303d7461b8230048f989591a1 : SUCCESS in 18m 59s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/86d404bec9894a31a2cb26e6a9df9dfb : SUCCESS in 16m 46s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f9c2803b3a01497db2dcef884c8b606e : SUCCESS in 20m 45s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/97122e2a8ba54d4cab1e5fc21b4404ea : SUCCESS in 6m 26s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8664bf14c37c43259d8fee361a9283fa : FAILURE in 28m 24s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/5badb0eeea7c458abb485d403a9c3c25 : FAILURE in 26m 25s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/085f58bc67914ba18c36929fea1ee4c4 : FAILURE in 31m 35s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/df71d1211caf483bbece3fe49c426e44 : FAILURE in 34m 50s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/e4d1e2a3071240e49787897928f40582 : SUCCESS in 15m 46s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/9c6fb96d1db946fd9afef428c680d37c : SUCCESS in 16m 10s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/9b1601ea66344a9da2a6b7323f1c6eae : SUCCESS in 15m 33s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/a56986a684264fb28401c27843fc58e8 : SUCCESS in 6m 22s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3ffee65035334050b5aeb319610c3970 : SUCCESS in 15m 36s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/67b1892f05964b4cbbcb394ddb6ae89c : SUCCESS in 8m 21s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/10e1ac942055409ea8b6b0ee65edbe47 : FAILURE in 58m 23s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a765462aa3dd4c1486f397c7ff539100 : SUCCESS in 54m 00s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/68de4822ee824978a3a8fed8413b5a4c : SUCCESS in 53m 23s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fa83f09c9e044a8ea5dae8019088130c : FAILURE in 12m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/aef5e984838c4ba0835761acbbd0cb37 : FAILURE in 4m 14s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/fe2dd5af162b4a06bae6db310a1fddc6 : SUCCESS in 25m 10s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/a55f5fa8bb044ac191a6d2830f1fbd39 : SUCCESS in 50m 21s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/42acb484759c48fea86b29741b9b172b : SUCCESS in 40m 09s\n\nWarning:\n  Comments left for invalid file test/unit/common/middleware/test_object_versioning.py","accounts_in_message":[],"_revision_number":1},{"id":"495b082eb16dc98c3733af7dd835327448fdffd0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-11-30 22:21:07.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":"512323370085bf9c9c38a2748c139a0848c3e18a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-30 23:29:33.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/e484b7529264477290a87abe968b1685\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4b8235b9c9654e0992290668f864389a : SUCCESS in 10m 38s\n- grenade https://zuul.opendev.org/t/openstack/build/1dc0bb95bcac4d4d8011ae39ea639419 : SUCCESS in 1h 00m 00s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a889453ca3e64c3dac9153e90f833f77 : SUCCESS in 1h 02m 45s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/abf17c45a77d4345b4c5ac8b49af14e9 : SUCCESS in 51m 08s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/0add5315f52d4e10b4b8121394c0b1f4 : SUCCESS in 59m 04s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b8ed2e1622c347729ce23e92f1218be3 : SUCCESS in 16m 35s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e49b79ede64f416793ac4d02b172c367 : SUCCESS in 15m 07s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a916b57c3526473e82a60de24b4b2c78 : SUCCESS in 11m 08s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/314d99580db340d9b6fbba5e426ea7ea : FAILURE in 4m 58s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c7993d7ea5b6441ca603837128af6753 : FAILURE in 11m 37s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/35eb74442766428fba7af22272f84ce6 : FAILURE in 11m 26s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/c51281f8192b4ab6a6e2a2f25e9e4f79 : FAILURE in 36m 21s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/fad37e631f6740c8b5d8ab8f68ac6a0d : FAILURE in 33m 12s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ffe01079390d4283badc051b72274109 : SUCCESS in 18m 09s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ef11c1918a2d46ca8252cfa139ba2b63 : SUCCESS in 16m 50s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/2bb7aa8b7ff44e1398ee5f48cb581792 : SUCCESS in 16m 03s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/34ce496f458041a88eb1c32269214152 : SUCCESS in 6m 16s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d11bc07b834d4d3a9910bebe15da912c : SUCCESS in 19m 38s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2364bfbd27c64cfc924db6ab108f1640 : SUCCESS in 7m 44s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/8245e7143aa5496a9279569cef5d9b33 : FAILURE in 55m 29s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/d0ba48e6a8294749b45fadb8efaa8133 : SUCCESS in 52m 31s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/70fdfb7f56d34f2ca3484c23acd9e1e2 : SUCCESS in 50m 20s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f178bfa97dd64b70a4206db9c7eec3b3 : FAILURE in 31m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4bda8b5a118441af825c1d3208fb52d8 : FAILURE in 4m 08s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/955b0955bd1342ebbaf9a37c54049285 : SUCCESS in 20m 19s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/322c5ba789a04284b2d18ee325a1de90 : SUCCESS in 52m 15s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/bc57f31db6e4497694a32590842cbaf4 : SUCCESS in 44m 55s\n\nWarning:\n  Comments left for invalid file test/unit/common/middleware/test_object_versioning.py","accounts_in_message":[],"_revision_number":2},{"id":"5607c4e5cc5f30202500b201a0d6196e419866ac","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-30 23:53:59.000000000","message":"Patch Set 2:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2416b101ce924bbcbf9183918b5a2d58\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/4b2e2bdebe894a448355449b5cf64023 : FAILURE in 1h 28m 11s","accounts_in_message":[],"_revision_number":2},{"id":"9a3d0c2a8b802dfc989096b2b4a9b99412f50883","tag":"autogenerated:gerrit:abandon","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-12-02 22:45:04.000000000","message":"Abandoned\n\nopps this must\u0027ve nuked the change-id. I\u0027ll remove the bad one so it\u0027s less confusing.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"919fb01fcd17850c674da169a41c3fb4e33ee281","revisions":{"459bcfaafcc664847efc18fd6ec23efffba182d8":{"kind":"REWORK","_number":1,"created":"2025-11-28 04:50:43.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/64/968764/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/64/968764/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/64/968764/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/64/968764/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/64/968764/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/64/968764/1"}}},"commit":{"parents":[{"commit":"f8c96b4dca8a52ae82df4dbe2e9471c166fd7437","subject":"obj test_expirer.py and test_auditor.py: fix timestamp usage","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f8c96b4dca8a52ae82df4dbe2e9471c166fd7437"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-11-28 04:05:58.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-11-28 04:50:29.000000000","tz":660},"subject":"ssync: supporting timetamps with jitter","message":"ssync: supporting timetamps with jitter\n\nssync receiver compares remote timestamps with local, but the reomote\ntimestamps are generated from deltas which don\u0027t have a v2 jitter.\n\nSo need to change this check to look at extraless timestamps. To make it\neaiser add a Timestamp.v1() method that converts to a v1 timestamp for\ncomparison.\n\nStill a WIP:\n\n    Current problem, with\n    test_ssync.py::TestSsyncReplication.test_content_type_sync is the\n    the rx and tx get_hashes() are different.\n\n    [matt ~]$ tree /tmp/tmpl9u7pb1q/tmp_test_ssync_sender/dev/objects/9/\n    /tmp/tmpl9u7pb1q/tmp_test_ssync_sender/dev/objects/9/\n    ├── 3d1\n    │   └── 4f6587504178bff82772d66708d083d1\n    │       ├── 1764299396.00000_2b2d31d365000000.data\n    │       ├── 1764299397.00000_27ee1d2ac4000000+0.meta\n    │       └── 1764299398.00000_267b94c07c000000.meta\n    ├── 3df\n    │   └── 07b66508d27499403aac56ea2a6723df\n    │       ├── 1764299399.00000_2589c7d57e000000.data\n    │       ├── 1764299400.00000_21f9b9ab01000000+0.meta\n    │       └── 1764299401.00000_297b5941cd000000.meta\n    ├── 6cc\n    │   └── 678a3761bd6f4fa767e987a9293c76cc\n    │       ├── 1764299393.00000_2d43ff37c9000000.data\n    │       ├── 1764299394.00000_29ce82b678000000+0.meta\n    │       └── 1764299395.00000_235c7af9c4000000.meta\n    ├── 7f5\n    │   └── c415c9a3c45d299ca359ffa06fc787f5\n    │       ├── 1764299402.00000_202efda8b5000000.data\n    │       └── 1764299404.00000_2bb328b92f000000-186a0.meta\n    ├── aa3\n    │   └── d3cd21af4676287fbedda40cc66e8aa3\n    │       ├── 1764299405.00000_21ddc72a85000000.data\n    │       └── 1764299407.00000_28fedb4f5e000000-186a0.meta\n    └── hashes.invalid\n\n    11 directories, 14 files\n    [matt ~]$ tree /tmp/tmpl9u7pb1q/tmp_test_ssync_receiver/dev/objects/9/\n    /tmp/tmpl9u7pb1q/tmp_test_ssync_receiver/dev/objects/9/\n    ├── 3d1\n    │   └── 4f6587504178bff82772d66708d083d1\n    │       ├── 1764299396.00000_2b2d31d365000000.data\n    │       └── 1764299398.00000_267b94c07c000000-186a0.meta\n    ├── 3df\n    │   └── 07b66508d27499403aac56ea2a6723df\n    │       ├── 1764299399.00000_2589c7d57e000000.data\n    │       └── 1764299401.00000_297b5941cd000000-186a0.meta\n    ├── 6cc\n    │   └── 678a3761bd6f4fa767e987a9293c76cc\n    │       ├── 1764299393.00000_2d43ff37c9000000.data\n    │       └── 1764299395.00000_235c7af9c4000000-186a0.meta\n    ├── 7f5\n    │   └── c415c9a3c45d299ca359ffa06fc787f5\n    │       ├── 1764299402.00000_202efda8b5000000.data\n    │       ├── 1764299403.00000_20a3b3f935000000+0.meta\n    │       └── 1764299404.00000_2bb328b92f000000.meta\n    ├── aa3\n    │   └── d3cd21af4676287fbedda40cc66e8aa3\n    │       ├── 1764299405.00000_21ddc72a85000000.data\n    │       └── 1764299407.00000_28fedb4f5e000000-186a0.meta\n    └── hashes.invalid\n\n    11 directories, 12 files\n\nChange-Id: I1599095f20396086927c8f44f2a792e0a9ffe82c\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/459bcfaafcc664847efc18fd6ec23efffba182d8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/459bcfaafcc664847efc18fd6ec23efffba182d8"}]},"branch":"refs/heads/master"},"919fb01fcd17850c674da169a41c3fb4e33ee281":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2025-11-30 22:21:07.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/64/968764/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/64/968764/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/64/968764/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/64/968764/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/64/968764/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/64/968764/2"}}},"commit":{"parents":[{"commit":"6e6febdad17cc16d25926e44d78a463b4dbc2811","subject":"Tests: Mock jitter in object_versioning unit tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6e6febdad17cc16d25926e44d78a463b4dbc2811"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-11-28 04:05:58.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-11-30 22:20:27.000000000","tz":660},"subject":"ssync: supporting timetamps with jitter","message":"ssync: supporting timetamps with jitter\n\nssync receiver compares remote timestamps with local, but the reomote\ntimestamps are generated from deltas which don\u0027t have a v2 jitter.\n\nSo need to change this check to look at extraless timestamps. To make it\neaiser add a Timestamp.v1() method that converts to a v1 timestamp for\ncomparison.\n\nStill a WIP:\n\n    Current problem, with\n    test_ssync.py::TestSsyncReplication.test_content_type_sync is the\n    the rx and tx get_hashes() are different.\n\n    [matt ~]$ tree /tmp/tmpl9u7pb1q/tmp_test_ssync_sender/dev/objects/9/\n    /tmp/tmpl9u7pb1q/tmp_test_ssync_sender/dev/objects/9/\n    ├── 3d1\n    │   └── 4f6587504178bff82772d66708d083d1\n    │       ├── 1764299396.00000_2b2d31d365000000.data\n    │       ├── 1764299397.00000_27ee1d2ac4000000+0.meta\n    │       └── 1764299398.00000_267b94c07c000000.meta\n    ├── 3df\n    │   └── 07b66508d27499403aac56ea2a6723df\n    │       ├── 1764299399.00000_2589c7d57e000000.data\n    │       ├── 1764299400.00000_21f9b9ab01000000+0.meta\n    │       └── 1764299401.00000_297b5941cd000000.meta\n    ├── 6cc\n    │   └── 678a3761bd6f4fa767e987a9293c76cc\n    │       ├── 1764299393.00000_2d43ff37c9000000.data\n    │       ├── 1764299394.00000_29ce82b678000000+0.meta\n    │       └── 1764299395.00000_235c7af9c4000000.meta\n    ├── 7f5\n    │   └── c415c9a3c45d299ca359ffa06fc787f5\n    │       ├── 1764299402.00000_202efda8b5000000.data\n    │       └── 1764299404.00000_2bb328b92f000000-186a0.meta\n    ├── aa3\n    │   └── d3cd21af4676287fbedda40cc66e8aa3\n    │       ├── 1764299405.00000_21ddc72a85000000.data\n    │       └── 1764299407.00000_28fedb4f5e000000-186a0.meta\n    └── hashes.invalid\n\n    11 directories, 14 files\n    [matt ~]$ tree /tmp/tmpl9u7pb1q/tmp_test_ssync_receiver/dev/objects/9/\n    /tmp/tmpl9u7pb1q/tmp_test_ssync_receiver/dev/objects/9/\n    ├── 3d1\n    │   └── 4f6587504178bff82772d66708d083d1\n    │       ├── 1764299396.00000_2b2d31d365000000.data\n    │       └── 1764299398.00000_267b94c07c000000-186a0.meta\n    ├── 3df\n    │   └── 07b66508d27499403aac56ea2a6723df\n    │       ├── 1764299399.00000_2589c7d57e000000.data\n    │       └── 1764299401.00000_297b5941cd000000-186a0.meta\n    ├── 6cc\n    │   └── 678a3761bd6f4fa767e987a9293c76cc\n    │       ├── 1764299393.00000_2d43ff37c9000000.data\n    │       └── 1764299395.00000_235c7af9c4000000-186a0.meta\n    ├── 7f5\n    │   └── c415c9a3c45d299ca359ffa06fc787f5\n    │       ├── 1764299402.00000_202efda8b5000000.data\n    │       ├── 1764299403.00000_20a3b3f935000000+0.meta\n    │       └── 1764299404.00000_2bb328b92f000000.meta\n    ├── aa3\n    │   └── d3cd21af4676287fbedda40cc66e8aa3\n    │       ├── 1764299405.00000_21ddc72a85000000.data\n    │       └── 1764299407.00000_28fedb4f5e000000-186a0.meta\n    └── hashes.invalid\n\n    11 directories, 12 files\n\nChange-Id: I1599095f20396086927c8f44f2a792e0a9ffe82c\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/919fb01fcd17850c674da169a41c3fb4e33ee281"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/919fb01fcd17850c674da169a41c3fb4e33ee281"}]},"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":{}}}]}
