)]}'
{"id":"openstack%2Fswift~978042","triplet_id":"openstack%2Fswift~master~I74039ee830cebd48b0d6b5fe64c2ec39c113b46f","project":"openstack/swift","branch":"master","topic":"p-timestamp-collision","attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-03-01 23:03:35.000000000","reason":"\u003cGERRIT_ACCOUNT_7233\u003e replied on the change","reason_account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}}},"removed_from_attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-03-01 23:03:35.000000000","reason":"\u003cGERRIT_ACCOUNT_7233\u003e replied on the change","reason_account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}}},"hashtags":[],"change_id":"I74039ee830cebd48b0d6b5fe64c2ec39c113b46f","subject":"BaseTimestamp: Ignore data after _ in _parse","status":"NEW","created":"2026-02-26 06:12:09.000000000","updated":"2026-03-01 23:03:35.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":2,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"83d2d7008cdbd65ab7bc744e3d66c5288c5ebb9e","_number":978042,"virtual_id_number":978042,"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":"2026-02-26 07:34:55.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"]}],"CC":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-02-26 06:53:23.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":"2026-02-26 07:34:55.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-02-26 17:51:38.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"CC"}],"messages":[{"id":"35d60deddd7b9cb735125f565a2b5e30d7f25ca9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-02-26 06:12:09.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"187af5cfa0dc118f62282ae6df25ad9d8aba2d55","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-26 06:53:23.000000000","message":"Patch Set 1:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/137c28b38cb746f89e49e662ed673d30\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/fd66cfc0d31b4592a2fb5147fb461fcb : FAILURE in 33m 16s","accounts_in_message":[],"_revision_number":1},{"id":"fce77652034eaef192ab2475eb355d88f1619a6c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-26 07:34:55.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/d1a1e7eae25047149a51cc57e6b8a6d3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/56f622de1086490584bf0d261052573d : SUCCESS in 7m 26s\n- grenade https://zuul.opendev.org/t/openstack/build/057c18926b4d46a4b85235db698a84ff : SUCCESS in 1h 04m 55s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/7d33523937ad48e092473ecb77fef58c : SUCCESS in 50m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ff6f11bebb6a48958a14e89fa9a70936 : SUCCESS in 50m 58s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/54bfa4ec5f66443395b3b6990031eddf : SUCCESS in 1h 03m 40s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/39a1be7844454c7099be7307d6042438 : SUCCESS in 20m 11s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/92e9fdc79d37494997d60a4a7405da2b : SUCCESS in 16m 37s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/bce402684036453e85dc4b07bb8fc375 : SUCCESS in 19m 21s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/165a2b56215040f5abea76f0af4dfbfe : SUCCESS in 6m 17s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/4817e857e1914636b93ac7597a893105 : FAILURE in 12m 16s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/8123c9222cec4f68a76514e262496a1a : FAILURE in 8m 41s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/2931991b9f8b4bce913a2b0207e5ed9f : FAILURE in 11m 23s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/b6a11448e2304716ba690a125137e8c8 : FAILURE in 13m 27s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c6d3a4bf496644028e02666d18776fb7 : SUCCESS in 16m 45s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/10dfe633189b401885fdd628446cda3e : SUCCESS in 9m 14s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b146f863d2fd46d48a1d2c8468c1d9bc : SUCCESS in 14m 33s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/e0ae56e9a4a544c59e9cf0acb95527e9 : SUCCESS in 6m 29s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5bd9479e2fef459ba3c005f42c5b7565 : SUCCESS in 15m 08s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/e7bd38f0cd0945d3935893e40c07a583 : SUCCESS in 5m 53s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4f3cc1609cde4de0a3c46d800a9950c5 : SUCCESS in 1h 00m 18s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/61bd14263737468cb0fe8a8500e5200e : SUCCESS in 46m 53s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/682f5b27b4d244c689c2cc5efb4adb9f : SUCCESS in 48m 41s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/130557f49060410db57fda303630120b : FAILURE in 21m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/142007df826c44459ec1d33ddff38f13 : SUCCESS in 3m 52s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/91501705bacc415bbdca685503513070 : SUCCESS in 14m 59s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4a57e24d2f504e608f75b7fc230614d4 : SUCCESS in 50m 36s","accounts_in_message":[],"_revision_number":1},{"id":"1f0d0f2d4b8dda4221a301ab7a24c89a7dc73e26","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-02-26 17:51:38.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"83d2d7008cdbd65ab7bc744e3d66c5288c5ebb9e","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-03-01 23:03:35.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"cea2b873b14e380fa6119a4d3a85b204c69a901d","revisions":{"cea2b873b14e380fa6119a4d3a85b204c69a901d":{"kind":"REWORK","_number":1,"created":"2026-02-26 06:12:09.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/42/978042/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/42/978042/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/978042/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/978042/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/978042/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/42/978042/1"}}},"commit":{"parents":[{"commit":"3b4cdeed1c1f9456e04bed2f54e644d342128b85","subject":"Introduce a jitter component to Timestamp","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3b4cdeed1c1f9456e04bed2f54e644d342128b85"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-02-26 06:07:27.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-02-26 06:07:27.000000000","tz":660},"subject":"BaseTimestamp: Ignore data after _ in _parse","message":"BaseTimestamp: Ignore data after _ in _parse\n\nWhen we parse a string to turn it into a timestamp, the string may\ncontain a \u0027_\u0027 if being used by a Timestamp. But all base and normal\ntimestamps care about is the float component. Because we may have\nTimestamp strings we need to compare against, it would be better if the\n{Normal,Base}Timestamp\u0027s could just compare the float component and just\nignore anything after a \u0027_\u0027.\n\nThis patch does just that, it moves the _parse up to BaseTimestamp and\nalways returns the float and rest (a string). The benefit of this is\nthat the _parse method in all BaseTimestamp concrete classes now share\nthe same signature and return.\n\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\nChange-Id: I74039ee830cebd48b0d6b5fe64c2ec39c113b46f\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cea2b873b14e380fa6119a4d3a85b204c69a901d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cea2b873b14e380fa6119a4d3a85b204c69a901d"}]},"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":""}}}]}
