)]}'
{"id":"openstack%2Fswift~790235","triplet_id":"openstack%2Fswift~master~I8bbed8cb80b2796907492a39cd5b2d7069e1ca55","project":"openstack/swift","branch":"master","topic":"p-lonely-frags-v2","hashtags":[],"change_id":"I8bbed8cb80b2796907492a39cd5b2d7069e1ca55","subject":"reconstructor: gather rebuild fragments by x-data-timestamp","status":"MERGED","created":"2021-05-07 12:40:48.000000000","updated":"2021-05-10 10:07:37.000000000","submitted":"2021-05-07 21:47:48.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"790235-p-lonely-frags-v2","meta_rev_id":"21ca481c541e7e5f61628699419de39b545c8bcf","_number":790235,"virtual_id_number":790235,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-05-07 21:47:47.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2021-05-07 20:42:53.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2021-05-07 20:42:53.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-05-07 13:42:50.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":"2021-05-07 20:42:53.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"REVIEWER"}],"messages":[{"id":"148d441fcd820683e0b70d93738120eac3a150f2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-05-07 12:40:48.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"9360cb283fb6c539b8f7e62209f14c47bb9b78ba","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-07 13:42:50.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/66fb171b036242c9b070ba32cfc95c03 : SUCCESS in 8m 31s\n- grenade https://zuul.opendev.org/t/openstack/build/2bf3ba45561f4756abd9c825234f0e5f : SUCCESS in 56m 53s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/aedcc6e315f646c8a235ab52b88becf9 : SUCCESS in 45m 33s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/08ec56b7b7ad46c5a22740558334df03 : SUCCESS in 8m 05s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/ade3090923f24e53bea8104e5aea8db1 : SUCCESS in 7m 36s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/3fc29e0f09634306a863faa045d617d1 : SUCCESS in 20m 47s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/da3f03e01752437583e73b3e3ff7b65a : SUCCESS in 16m 54s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/eaf5dd791de14eea91e070b5c116c3cb : SUCCESS in 15m 07s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/2cde1d1be71c4265961a45c65fc0ff53 : SUCCESS in 15m 30s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/55c1011ac87c4435b0eac8f2c9e47037 : SUCCESS in 15m 18s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/3ceaf47d990c459999e805fa16204339 : SUCCESS in 22m 44s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/2bdbede8a2094f9a87bb3b35dc323519 : SUCCESS in 16m 26s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/987d3bc72c0146e5886bf4a2efbc7c1f : SUCCESS in 17m 21s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/52b39a80ffbe46518ea163e04d24aafb : SUCCESS in 25m 14s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/d60144c1a5f245789b9fb4acda8ea477 : SUCCESS in 18m 47s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/f45a36c1ef014a9f9b606d42cac48eaa : SUCCESS in 23m 18s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/2874e1f89b9e43a4921a5bdacf8bab94 : SUCCESS in 6m 37s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d0f43ce838e044278ff27e1b7cbd5b3b : FAILURE in 32m 20s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/9414e56f809640c2b07cc5d98fa3a540 : SUCCESS in 51m 12s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/763134fa43cd41ae9cf3285b2edaf2c6 : SUCCESS in 50m 09s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/dfdd54d52699465d8634721b7589519d : SUCCESS in 41m 59s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/03a1b5a0dd5a4b49912d5fe06918ccc5 : SUCCESS in 39m 12s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b38cce94452a4e1e9b380df4ecf34ee5 : SUCCESS in 16m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/40fb373c74944833963f6cf62851b590 : SUCCESS in 6m 05s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9c2aded6fd0e459baeb53b00208cdd19 : SUCCESS in 25m 04s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/099cd3b5a35a4c64a8b7d8bd549eadd6 : SUCCESS in 54m 33s","accounts_in_message":[],"_revision_number":1},{"id":"d0f7e37d783eefe7b25509b19e3c9c6207728830","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-05-07 20:42:53.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)\n\nI started playing with writing a probe test for this at http://paste.openstack.org/show/805049/ -- but there were a couple problems:\n\n* The saio env is pretty small; you can\u0027t stop half the servers and still write new EC data, so I had to fiddle with EC quorum size a little.\n* The test sometimes fails to set up properly; I think I could fix that by running a custom handoffs-only reconstructor similar to what we\u0027re now doing with the sharder, but didn\u0027t invest much time in it because of the above issue.","accounts_in_message":[],"_revision_number":1},{"id":"67949fca500793ca65393094b5f2c64255b84500","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-07 20:43:29.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"eb2ee54148d2ea86186477eab2a08dffe4a622e6","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-07 21:47:47.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/246a6266489a420eb070fb67a366fb0a : SUCCESS in 9m 53s\n- grenade https://zuul.opendev.org/t/openstack/build/d3df0f3042a9410aa01963ab7fd8f7f9 : SUCCESS in 1h 03m 40s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/00f5a18f5ed24037b7517d269bd1fa76 : SUCCESS in 34m 14s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/462a38388bdf4ffbb974099c1616777a : SUCCESS in 9m 53s (non-voting)\n- swift-upload-image-py3 https://zuul.opendev.org/t/openstack/build/c6a7b0cdda204858a03d84e0fcec4714 : SUCCESS in 7m 30s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/0d9b062a665043d9a3f7105a83b47b3c : SUCCESS in 14m 14s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/abe415a4ffe24bf6a9df12970bc14622 : SUCCESS in 26m 08s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/915eec468d9e414eb4b6e63bf5eb770c : SUCCESS in 18m 25s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/ee027b3758734effaf4972290acdb771 : SUCCESS in 25m 33s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/e3847a6a83d443c4a00e8cbc768a0223 : SUCCESS in 16m 57s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/f631ccf1c14a48dcbc49fb2551e92842 : SUCCESS in 22m 45s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/f1a74bb70fe7433eb8ba28726c777d6c : SUCCESS in 21m 52s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/23cfc3a17778477889f24050f9051c4c : SUCCESS in 22m 47s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/1ebba929489940c4a2ba4ebd08cdf45f : SUCCESS in 30m 17s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/649f2cd34bf545a9a9accb945add8698 : SUCCESS in 17m 28s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/117fc7ba0a4b40549928c705a357ebbe : SUCCESS in 20m 48s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3e16fd7565b6453f8cb77914c2a969fd : SUCCESS in 6m 33s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/b57a49f6ac964c779b851f28961bce7b : SUCCESS in 49m 44s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/3f98b677304447699276823443f4dc7c : SUCCESS in 57m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/bd5144b1275042cc82c1076ece4598c6 : SUCCESS in 40m 53s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4768413ff5cf40858b6db9a55cdf3636 : SUCCESS in 41m 26s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1882b6bfdb764eec894d3d4d8b6be4ee : SUCCESS in 17m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7ab0d0dd807440a8bfbf912ee7d29eab : SUCCESS in 5m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/acecdd4664244c09b231970f8338a9de : SUCCESS in 31m 34s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/70a6b6f0d128459faf87d223d109e27f : SUCCESS in 48m 48s","accounts_in_message":[],"_revision_number":1},{"id":"94462cf9af3b4dc37e33c69c407db2174bc40b2e","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-07 21:47:48.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"26bd209035450e5716e1b682178ba6044ea8e22f","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-07 21:49:07.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0bfc70215c3041a58a856fb775dd7aa6 : SUCCESS in 55s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/90e265894d634acf8d3a72d350570772 : SUCCESS in 56s (non-voting)\n- swift-promote-image-py3 https://zuul.opendev.org/t/openstack/build/2057fcdaee034540bb3bb0db826311e7 : SUCCESS in 45s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"21ca481c541e7e5f61628699419de39b545c8bcf","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-05-10 10:07:37.000000000","message":"Patch Set 1:\n\n@Tim, small consolation - the probe test added in the next patch https://review.opendev.org/c/openstack/swift/+/788833/7 (lonely frags) will fail if this fix regresses, because the timestamp mixup leaves us with two buckets from one response (!) for the lonely frag and it consequently fails to be quarantined.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"eeaac713fd9d593336e636af19228e3c17ac8b0e","revisions":{"eeaac713fd9d593336e636af19228e3c17ac8b0e":{"kind":"REWORK","_number":1,"created":"2021-05-07 12:40:48.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/35/790235/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/35/790235/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/790235/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/790235/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/35/790235/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/35/790235/1"}}},"commit":{"parents":[{"commit":"7cfdb50f93f6780a668c4d6c04b1f1ef25166c69","subject":"Merge \"reconstructor: extract closure for handle_response\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7cfdb50f93f6780a668c4d6c04b1f1ef25166c69"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-05-07 10:32:48.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-05-07 12:39:03.000000000","tz":60},"subject":"reconstructor: gather rebuild fragments by x-data-timestamp","message":"reconstructor: gather rebuild fragments by x-data-timestamp\n\nFix the reconstructor fragment rebuild to gather other fragments in\nbuckets keyed by x-backend-data-timestamp rather than\nx-backend-timestamp. The former is the actual .data file timestamp;\nthe latter can vary when .meta files have been written to some but not\nall fragment hash dirs, causing rebuild to fail.\n\nChange-Id: I8bbed8cb80b2796907492a39cd5b2d7069e1ca55\nCloses-Bug: 1927720\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eeaac713fd9d593336e636af19228e3c17ac8b0e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eeaac713fd9d593336e636af19228e3c17ac8b0e"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
