)]}'
{"id":"openstack%2Fswift~792075","triplet_id":"openstack%2Fswift~master~Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4","project":"openstack/swift","branch":"master","topic":"ring-v2","attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2021-10-12 22:00:13.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{"15343":{"account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"last_update":"2021-10-13 00:26:02.000000000","reason":"Tim Burke replied on the change"}},"hashtags":[],"change_id":"Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4","subject":"WIP: Reconstructor: Use past node and abort to handoff","status":"NEW","created":"2021-05-19 06:40:56.000000000","updated":"2021-10-13 12:33:57.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":9,"unresolved_comment_count":7,"has_review_started":true,"meta_rev_id":"a27df8b25da4866be625bc948ba4101dd0444fd7","_number":792075,"virtual_id_number":792075,"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":"2021-10-13 10:12:19.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_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":"","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"]},{"value":0,"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":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"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-19 07:59:38.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-06-04 23:51:11.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":"CC"},{"updated":"2021-10-13 00:26:02.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":"94b29ea70d2f613258124d9575b7acc15dec06ee","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-05-19 06:40:56.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"6845ff93edc0aef68ece795b7cfd5e3bc10ec6d1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-19 07:59:38.000000000","message":"Patch Set 1: Verified-1\n\n(1 comment)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2eddebf88c484467a18b65bcb5ae3416 : SUCCESS in 11m 58s\n- grenade https://zuul.opendev.org/t/openstack/build/28733879e6e14f3eada5dbe6c65ca99c : SUCCESS in 1h 10m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/bdfce1b78d8d4a1babc6c89496a5cd0e : SUCCESS in 47m 49s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e92ee3008abc463ea0c12c6acf5db0e4 : SUCCESS in 11m 12s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/ec0a6b99aef34e28853b403b437f81f6 : SUCCESS in 9m 57s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/80b584fb79424633baa19732398c158a : SUCCESS in 17m 12s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/3673fa819df14609bc8cb6be9c2fe982 : SUCCESS in 16m 51s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/24f805585c0d4c79be749b0fbefdeeb2 : SUCCESS in 16m 51s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/8b778b03d84f4ef7bee5212b83220504 : SUCCESS in 16m 51s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/f46bf125b8bb4ad4b9f5600d987c6815 : SUCCESS in 17m 38s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/238f6052250c4ffe86806b9d6f70b08b : SUCCESS in 17m 05s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/888ff5eb27fc45fa96827f7dd6d2dc8b : SUCCESS in 17m 24s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/d9db9bbcd53d4d1eac942682d371421c : SUCCESS in 17m 15s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/88719932f31f4ad596ef839e6b82ba73 : SUCCESS in 17m 04s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/af7cd2a7eb984ddb85b983f6d283cfd3 : SUCCESS in 18m 40s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/840e7e2595384590874cb0762050069b : SUCCESS in 20m 24s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/d58f038234af4e539e6d79451bd6ef10 : SUCCESS in 8m 08s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b89ec5cbe3b04e99ab7670458a42f5f2 : SUCCESS in 22m 09s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/b91b1ab5632f4b60bee77ba37dea6081 : SUCCESS in 54m 10s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/9b61021f1ff640598e43286b6ef3e7b8 : SUCCESS in 52m 36s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e56a71f7bac04f5f9b5b5e78428ef535 : SUCCESS in 41m 53s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5d50429ca21f40f4820b923b93f9fbc5 : SUCCESS in 42m 13s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a06c55fdfe0740e88565d6f07765a09c : SUCCESS in 21m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a66f5f3f5be345e3afb5daf34502ccc2 : FAILURE in 6m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c73c9726f2884307bf9027a70008dc19 : SUCCESS in 32m 16s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1ba913a39acb48c5abc39f2c933d796f : SUCCESS in 43m 12s","accounts_in_message":[],"_revision_number":1},{"id":"49de10c90e64cf2e4a298943ac94bf0d8b066ad0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-05-24 03:38:05.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"90ad11e2b81bbda46ee6100e8277df2b4b492700","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-05-24 03:46:20.000000000","message":"Uploaded patch set 3: Commit message was updated.","accounts_in_message":[],"_revision_number":3},{"id":"c5f54029cbd96137a294274db53576bcbd6d5849","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-24 04:42:37.000000000","message":"Patch Set 3: 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\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/acdff25cc0ea4556a306c275c28e0354 : SUCCESS in 7m 36s\n- grenade https://zuul.opendev.org/t/openstack/build/067dbf5763224ec0bcd971c0eb360c7e : SUCCESS in 53m 46s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/02b0c952e1c54ee7a1bd2cde26c6b15d : SUCCESS in 39m 21s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1cc52a3cd2a24477a93174e968ed6c1a : SUCCESS in 7m 53s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/b7737d9c85304387a65ac5c347fe09cb : SUCCESS in 5m 53s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/627e72798731416e859e0d728ed6b688 : SUCCESS in 17m 35s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/07087e2693fa46e285db4cb61177cfef : SUCCESS in 21m 46s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/9bb9df192651439bacde3dfeec05a1ef : SUCCESS in 20m 23s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/056d42c56c024d7caf45cdc2532ccabf : SUCCESS in 15m 18s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/e77b7eb504954eefa20e024e58e904c6 : SUCCESS in 29m 11s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/3eaef3a97adb4aa9ad38d696ba1f3d2a : SUCCESS in 16m 07s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/e46c77c26ef44579baf425f23f2a87c6 : SUCCESS in 22m 15s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/7a4a93081d2f4fc68a001f81eb3cf586 : SUCCESS in 30m 28s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/0e4b3a87bace43458b8364e0be4504c9 : SUCCESS in 21m 13s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/d2940021bf264981bfe8a2e738b43622 : SUCCESS in 21m 34s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/2e8dc2dee454450893fe477432014ac3 : SUCCESS in 22m 16s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3b194f8b31cb4e01985ae23abe1ff026 : POST_FAILURE in 7m 24s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5c6ab2f8c2174eca88299bfef42b7c5a : SUCCESS in 25m 46s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/983410cfbb154612bc5be2c19e83b080 : SUCCESS in 45m 09s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/6d54c1b4e06c4898852e4bdb944b76ad : SUCCESS in 52m 47s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e9a36492d53f413298d79e7d970d6b9a : SUCCESS in 31m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/e59f4cbecf3542f7bb410ae858018d16 : SUCCESS in 39m 50s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5c4fc51762d74edb9b26ea1530d651d6 : SUCCESS in 17m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a9e4d36002184794af6b3b97c854781c : SUCCESS in 6m 06s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/3bc037eb919f45d882bc15d7e8ddaf24 : SUCCESS in 29m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/804e1114c6e44b82819b5f0d3eb93eae : SUCCESS in 51m 33s","accounts_in_message":[],"_revision_number":3},{"id":"dbdb012cec3e63eb706217c9ed7019def02a5ab2","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-06-01 00:45:18.000000000","message":"Patch Set 3:\n\nrecheck","accounts_in_message":[],"_revision_number":3},{"id":"b2c4e9dde0d407f2f2f51146cd8bfd2d920f1aa2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-01 01:55:02.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/088d4956df414d1c91138c0095bcbc40 : SUCCESS in 13m 33s\n- grenade https://zuul.opendev.org/t/openstack/build/b39c568d9c9f4766a1b5409895788033 : SUCCESS in 1h 05m 28s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/5c916af424ae4b51853649e9c9f7105c : SUCCESS in 46m 31s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/573420752e784e31b493369c6cde09c5 : SUCCESS in 8m 45s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/519176a7291c43d0b2088679210a39f9 : SUCCESS in 7m 53s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/7e86e298f9b645e2bd83402293b116e4 : SUCCESS in 15m 56s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/6f4ee360b3d44839a9e98872db17ce6b : SUCCESS in 15m 24s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c3ff2a40d9b5433ba0c661ba5fbb226a : SUCCESS in 16m 37s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/5124cdb266cb413792c41080bbedbbc0 : SUCCESS in 18m 46s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/78fc99a53bfd403da0d08284482c0374 : SUCCESS in 16m 26s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/f5e2d7a03dbf4f319042c46aed353d3f : SUCCESS in 19m 52s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/4b9ba4284ef04a53b3dab5a045066c67 : SUCCESS in 20m 00s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/7c60f8025a6b472d8ded1c3d9ac4f53b : SUCCESS in 18m 00s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/afe0f9844c9645808532cea004483e31 : SUCCESS in 16m 39s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/c741f87945654f70b74c3dd15821fb3a : SUCCESS in 18m 17s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/bc55a3ca78c6498d8d496763c59b2d67 : SUCCESS in 18m 36s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/19f94e8d7b044753abe279eb0b9c9d69 : SUCCESS in 5m 59s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/06191a7a0255428caa094271ac3cf780 : SUCCESS in 24m 23s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/dc355b55f60b4230bf61f25582e3dbc7 : SUCCESS in 52m 02s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/272393b4a053471c9b49ec1bc53ad6bd : SUCCESS in 50m 41s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ad5ab0df1ce64e298b3e53625288287e : SUCCESS in 35m 39s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/e2d438df47484299bff91f90426b5094 : SUCCESS in 52m 24s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6280e82dfdc24c029c1a9a58c9724aa2 : SUCCESS in 15m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fc83ad1618a04801829a20a9d5445ccf : SUCCESS in 7m 38s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/4fb00569bc4b4fa3bb2e38ce18f9a3e4 : SUCCESS in 23m 57s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/35a715d0403345419d36d62b481afe66 : SUCCESS in 53m 49s","accounts_in_message":[],"_revision_number":3},{"id":"5dec81069d2eec5ee4a93829fd97fa19d56c47db","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-06-04 23:51:11.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"e913ca98cccf4b6eb7f3591c184ec3422d3fe767","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-06-07 00:33:28.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"64ffc04207d12969db13e6d9fabc2ee236d8592e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-06-07 03:35:54.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"39fa437364e1ddb0f3c2e73d6a782f760c6b472d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-07 04:52:48.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4b52fad127df4a92ac6f6d409421b22d : SUCCESS in 8m 42s\n- grenade https://zuul.opendev.org/t/openstack/build/316f414497f7412da0e9f33f000ff2bb : SUCCESS in 1h 10m 48s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/99590bd014024b5683106a9eba4a2eb2 : SUCCESS in 51m 29s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7dfe6d11d28e410fb30abad20e3c5f85 : SUCCESS in 8m 21s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/5bfbfa3fac3c41e2922462191c9d93bf : SUCCESS in 8m 45s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/9b63f0f679fd4634969a0dc12125388d : SUCCESS in 15m 58s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/2bfa2b6dc94d42128071206c7be4cca9 : SUCCESS in 17m 00s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1ceb163084a248f79c8ec6adabb2ba85 : SUCCESS in 15m 54s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/cd9a7a3d4e564472954fa542279f943e : SUCCESS in 16m 17s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/cb65eb3b496a4474b8c76dd186829751 : SUCCESS in 16m 27s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/45ff0369455647bc9e5d2d1a2e11b64a : SUCCESS in 17m 08s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/89cada2f35fc401b971f5291367d942a : SUCCESS in 17m 33s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/c70139130c1a4b32a01c36f881068cbc : SUCCESS in 17m 35s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/6d099d3e1ed643958987a30f4fa274a3 : SUCCESS in 17m 18s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/108cbdf3c3dc4a5e8d4d24540c7d27f6 : SUCCESS in 18m 27s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/930595f8300f49169e7a02bed84d962d : SUCCESS in 17m 16s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/041b7872c1034976bb09cf297616de66 : SUCCESS in 6m 24s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/8c474cedd11b4c8d893c236c8784c3bd : FAILURE in 21m 23s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/8cdb5202a46b4f16a8c3b224e7e80656 : SUCCESS in 49m 48s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/5a3807ce4f5441d08d38e7f5c5ed505b : SUCCESS in 45m 14s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f62ac2f2196742949ab93c3b112fedf4 : SUCCESS in 43m 37s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/460c27195a034a608a04e935d10bc945 : SUCCESS in 41m 08s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/57d84e6097764cbcaa02373eba7d810f : SUCCESS in 14m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1501f5d21493448984d8152bc583772c : SUCCESS in 6m 26s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9c3e453ce4d241d28a81bfcaf2f01486 : SUCCESS in 22m 38s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/64f4f19f9c714d55afe4bcf4ef031847 : SUCCESS in 58m 20s","accounts_in_message":[],"_revision_number":4},{"id":"60fd407b98d3be08e7514ee4fae349438e0bfa1d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-08-06 01:40:17.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"c5a82b43255479a074cf3f858ffa41ee045c82ff","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-06 02:40:34.000000000","message":"Patch Set 5: 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\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9570b8b457884faeb13b53b99184a18b : SUCCESS in 9m 05s\n- grenade https://zuul.opendev.org/t/openstack/build/cb156d80f661454690f4001da851f20d : SUCCESS in 58m 49s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/e3d796c5140a4f45a6c1619dd84cd6bf : SUCCESS in 45m 32s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1da5db08f8ae4c25b8d6191edaade7ae : SUCCESS in 8m 39s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/1f720dc46873478bb72505fb37a08e44 : SUCCESS in 8m 34s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/01392fb1eb054033a52f97aec9ffafcd : SUCCESS in 17m 06s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/0c08a739c9e14a0798ac8ac19b81d487 : SUCCESS in 17m 16s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/fe1a7bf56ef74811bfe72c7ed45f797d : SUCCESS in 16m 51s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/0faed6b6f456411f98dc715f2d7be7e0 : SUCCESS in 14m 36s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/29be8bdb55214c10a4fd952ac83318c9 : SUCCESS in 17m 29s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/5a522bafecb442328275d7704bc2eb2c : SUCCESS in 18m 56s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/667ecf3d457a43d891139246000a28aa : SUCCESS in 16m 36s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/415e32cccec645d9879d5d0a3d0cd054 : SUCCESS in 21m 13s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/e168383e5fd24fa9876b9389b440598b : SUCCESS in 19m 28s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/2b006d5b67cf41dbbab6869b371df418 : SUCCESS in 15m 33s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/c476b73b2291490cb7ec1a169384be50 : SUCCESS in 18m 22s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/20041991863e431a808786608ea2f3ea : SUCCESS in 6m 52s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/44e8a4b2a32e47a9997fbea659ee3b4e : SUCCESS in 25m 06s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/4ee0af9ec6e84eb99afce662c5a168b1 : SUCCESS in 46m 45s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/bcf0235441784799b8c51d4d98713b9f : SUCCESS in 54m 57s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/3ee6f5d0e3394422b99b93edaeacafde : SUCCESS in 37m 33s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ee030eee54a9447180ab601fa1094647 : SUCCESS in 38m 13s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c177a40ff1874767a68b409dd491de38 : SUCCESS in 18m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/42499e9257e94f13ad5bd1860400c854 : SUCCESS in 6m 28s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/fadf6caa54df4f28b652045f1726de5f : FAILURE in 23m 15s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/daf4f46a747041cea90f6996bd5d9f86 : SUCCESS in 53m 19s","accounts_in_message":[],"_revision_number":5},{"id":"f497dcdcf9a19494a7cb624cc5f1f8f5fd3e17d1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-06 03:35:47.000000000","message":"Patch Set 5:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/c62b9e5b1f7747b684a8c25eeae091ab : SUCCESS in 54m 16s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/eb780ccaebea4f5b8cddeb1dfa5cfd8e : SUCCESS in 59m 03s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/94abd7c69759447eb0c221f6a31cbc94 : SUCCESS in 1h 52m 36s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/90281141e5634797a3c1108af8e422c4 : SUCCESS in 57m 35s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/85783dba360840329f662c3de0a9f701 : SUCCESS in 56m 03s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"b432af1d1b2944217a429e51b955d233bffae8c2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-08-13 07:02:48.000000000","message":"Uploaded patch set 6: Patch Set 5 was rebased.","accounts_in_message":[],"_revision_number":6},{"id":"a3053bc20ca0d3c0b66696bd699508c98e58ef9f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-13 08:04:53.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3cc2c7a74d6a42d5ad94deb909478ff1 : SUCCESS in 8m 53s\n- grenade https://zuul.opendev.org/t/openstack/build/31df916e3d594b42962c22f074bfe51b : SUCCESS in 1h 00m 37s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/bd4245aaff984f79823c1150921dbb73 : SUCCESS in 37m 38s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/dc8ded8d27ef4721ac2e51400f5ec900 : SUCCESS in 8m 06s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/d2341220798e444eaf121574b67a79ae : SUCCESS in 8m 33s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/65f793dd10104a959a2925e369a18191 : SUCCESS in 16m 56s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/54eb7654c248428b82c35bbfb30e3778 : SUCCESS in 15m 40s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/304e01d9d10941baa5cd63f29d2c1599 : SUCCESS in 24m 16s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/556cfb9c7f3347b9b7114ba2f566c19c : SUCCESS in 17m 55s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/70a260fbd4d145fda27f98add095febc : SUCCESS in 18m 55s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/b810485e16234dbcbb8fa94ad21a908a : SUCCESS in 17m 43s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/e141ae4377be4ea8b49e9cedf12cdf9b : SUCCESS in 18m 24s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/456ada38fc5a4955854115ffb087fc8b : SUCCESS in 25m 38s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/d139e0b45e1f4a2cbee2710e3a9b4c13 : SUCCESS in 18m 12s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/d30241dc0412423785a45f812a957bde : SUCCESS in 18m 57s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/b0092d06eae8416dbfd84500ce3cc34d : SUCCESS in 21m 33s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c12ac28292c44f15b3a8e5e373afe7b1 : SUCCESS in 7m 07s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/df17c54afc8e435fbfd1deaccfda563c : SUCCESS in 26m 46s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/63be0da2f66f445a92836579eaef983a : SUCCESS in 51m 12s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/c3c26471e50d483aa78ceb3ae78208c2 : SUCCESS in 47m 14s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7cf6377425b4451b93e595ba4b2017c7 : SUCCESS in 37m 13s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/fddb28c78a5c4b02852d3d2e8d2b6684 : SUCCESS in 42m 23s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/173564215c784010897fa4318b5f615c : SUCCESS in 21m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a0488ec9ec3c431e80dc3a5d4dbaa9d6 : SUCCESS in 6m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f48310d668d0470aaaf060e0eb3c30f9 : SUCCESS in 25m 15s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/caf87faef617408e96191ffc958223cb : SUCCESS in 44m 36s","accounts_in_message":[],"_revision_number":6},{"id":"a314b64cff79ede5de8e58ced4a7e140b24283f1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-13 09:05:04.000000000","message":"Patch Set 6:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/32d33558f2864efe932348f9932179f8 : SUCCESS in 49m 11s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/3950523a08b84902b7da662db99ce58b : SUCCESS in 47m 40s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/50ff1205b36b4fb68e63d31f4ea8eb10 : FAILURE in 1h 59m 24s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/9022cf506f184559a8d22746d4e3b707 : SUCCESS in 53m 17s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/9d58c06bc164407a9e6743b72af089f9 : SUCCESS in 50m 06s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"af939e76c489a6df14ccd5ed692e08ffa0e848a9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-10-12 20:54:52.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"12a77bc69bb5e56764207e8f10e84069bc48a0c0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-12 22:00:13.000000000","message":"Patch Set 7: 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\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/71f9aa20ecdd4d7ba242c04142f6d406 : SUCCESS in 10m 16s\n- grenade https://zuul.opendev.org/t/openstack/build/8d6558664fa4409c8ff86b6b68347ec8 : FAILURE in 36m 32s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/9eee0b8848cc45d4ba4d2f2310662930 : FAILURE in 36m 02s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f4b848382df04bbb8fb03deae17da3ab : SUCCESS in 8m 52s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/248d699f28d04f8797abb67af901243f : SUCCESS in 8m 48s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/93c17f00d17643e0b5211e327f57b9a0 : FAILURE in 15m 55s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/f5abca024c384d378bc7ecdcbbdc8d4b : FAILURE in 14m 33s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8d295261df58409fbd4f337e55531fb9 : FAILURE in 17m 30s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/1b6f33ab4a534d3792322a46cefb0593 : FAILURE in 34m 24s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/21b7226af52d4cba862730820dcea29b : FAILURE in 13m 25s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/2f0225fa803d4017b74aad52d5e81e4a : FAILURE in 4m 45s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/51915b90ab08403b8800e34750c315f8 : FAILURE in 4m 38s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/9665e21798654b409092df40026d6e18 : FAILURE in 5m 36s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/9e84929b40174b07a2172abb3d00d2bb : FAILURE in 5m 11s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/8460406cc2c745dc950aaff0917c145c : FAILURE in 4m 35s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/c0b5845203ed4f67ad20f70110f4f5c9 : FAILURE in 5m 15s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/6381f245393d4b56862f300806aa568b : FAILURE in 6m 33s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/a17cd4ca00f94f3b8c8fc6fba58e86c3 : FAILURE in 5m 28s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/c5f45d3de081451b8f0d2125d04d9e00 : FAILURE in 14m 09s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/7ec15163d7624a4aab117a1dbf2a1146 : FAILURE in 23m 17s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/351f2631817c40a48be72bfe0444e968 : RETRY_LIMIT in 20m 22s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/da96d9e67ab54399ac7ec0ae4622fbdf : RETRY_LIMIT in 25m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e643e2131c4245e893f98ace8b3b44d0 : FAILURE in 16m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/476be08892114ab58fa042b71121830c : FAILURE in 9m 34s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/090c6ad1921845cb8ec2706cb25e9ef3 : SUCCESS in 23m 36s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/195d37c1620945c18a95f5d0fe1bbcc2 : FAILURE in 26m 23s\n\nWarning:\n  Comments left for invalid file swift/common/ring/ring.py","accounts_in_message":[],"_revision_number":7},{"id":"23e5b5136913ea5b66669030f57dd696dcf58b5e","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-12 23:09:27.000000000","message":"Patch Set 7:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/c27b59f406a44b4cae29a37666d65709 : FAILURE in 48m 20s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/26c04020f74f43d1ab1719736f536a1e : FAILURE in 43m 22s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/a09425f59a0941d0b68562cb2066a767 : FAILURE in 32m 02s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/3ee0ad1037c7475495a458bf10737c9f : FAILURE in 7m 47s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/e01f06fa26fa46f68fe5efbad3b71b0f : FAILURE in 7m 08s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"86b666002ea9c6a5a4cc1abf0be68dfe0a9e928a","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-10-13 00:26:02.000000000","message":"Patch Set 7: Code-Review-1\n\n(7 comments)","accounts_in_message":[],"_revision_number":7},{"id":"4e66438c85594e9734fa2c03d29aa02e7779382c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-10-13 02:20:53.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"de4023fecb49afc5bf1bd161349feea2ac6a9322","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-13 03:30:54.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6062c30b1baf4136a044bc18a6b120a2 : SUCCESS in 12m 07s\n- grenade https://zuul.opendev.org/t/openstack/build/fd47edcf56d44e529d2f1bdc513efae9 : SUCCESS in 1h 03m 18s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/978f99372b574f829f9a2c5a10f66640 : SUCCESS in 46m 22s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/339f8a1331fd439f9ec53b8a11ab8e22 : SUCCESS in 8m 14s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/f94698a051014f2dbcfab9b7a0e0d19a : SUCCESS in 9m 23s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/e2dcd2f2409f4ff7848789ca4924259d : SUCCESS in 17m 29s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/83c16c91bcb34946bd8aa938c31c72e7 : SUCCESS in 17m 56s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/230c7312793e43f9a15e1d3ed8257659 : SUCCESS in 18m 17s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/61a3555e1ce04b12b65afec4a831f412 : SUCCESS in 17m 46s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/16b5b8e08db5492882a1c2718769b665 : SUCCESS in 15m 59s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/3782de9b64b94bfb8319e0e589378f91 : SUCCESS in 17m 12s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/4c0de6a28da34415a7b35570b073a6ab : SUCCESS in 18m 34s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/463a508f0ae04703bd62f63eea09e082 : SUCCESS in 19m 06s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/4c88145715c04b9fb9772c8150f422bd : SUCCESS in 15m 25s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/6a9a2e015c2d451abe6e1ccc93aa7092 : SUCCESS in 15m 48s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/6dc9915cc50b4d7497c22cb9b9aaf9ad : SUCCESS in 16m 55s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3f5d4279d1bd4bb492c8da0796331bfe : SUCCESS in 6m 57s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d7ab6c1f87af4b499b77e13267eb2fb4 : SUCCESS in 22m 16s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/5834753d846249e6a34e41275f06e558 : SUCCESS in 41m 41s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/0e07cadd76bd403fb9ca66a83cd5c811 : SUCCESS in 56m 22s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5536ab59bdbd4202bdea9890e5f5ab4a : SUCCESS in 40m 22s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5f0fd84d74cc454eba933195d2b59dc6 : SUCCESS in 37m 02s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c4f49f6b321841e6b0c2c09cb012b83f : SUCCESS in 17m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3e77c906347b4218b434ce9709dc3cc2 : SUCCESS in 6m 09s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/3fdc43de0fb340baa8e1fc1a1c4c8691 : SUCCESS in 26m 51s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/87eea5f5290d459f8efe739b241bc229 : SUCCESS in 50m 35s","accounts_in_message":[],"_revision_number":8},{"id":"1aff0cbad1b26381a2cbf0cbf2545af8e8a1628e","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-13 04:26:32.000000000","message":"Patch Set 8:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/238d1e4e6ef94be08c0313e43e4fd763 : SUCCESS in 46m 01s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/480668682e0240f1bb0afcaa9156d24f : SUCCESS in 39m 55s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/4d1c4548285a4c06af2f5efd110bc056 : FAILURE in 1h 57m 20s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/c85be2c754274f09879ca0b221df571d : SUCCESS in 54m 26s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/6b51fb72746b4c419e68fd61834d95bb : SUCCESS in 47m 02s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"5aeebc1f29c783bf7a5d868dd751957dcc3c03ad","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-10-13 09:05:04.000000000","message":"Patch Set 9: Commit message was updated.","accounts_in_message":[],"_revision_number":9},{"id":"654cd8c12ea67f143b0b059c59e16680bdb91548","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-13 10:12:19.000000000","message":"Patch Set 9: 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\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0e3c9fa3810a4ef0a8fba26525e79455 : SUCCESS in 11m 15s\n- grenade https://zuul.opendev.org/t/openstack/build/095a81cf37f24020ad5ea049f40b7df7 : SUCCESS in 1h 02m 20s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/4f43e6ef398d469ebf1ddd59c020760c : SUCCESS in 52m 59s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7d940d3214ad49bd9b89dd518b057f6f : SUCCESS in 9m 35s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/0b4858dd2d3349588620c98022cddc3e : SUCCESS in 9m 33s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/0193c7600c354a70b62a0243cbfbb24b : SUCCESS in 16m 51s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/338278c23c114f1b8337feba63f96b36 : SUCCESS in 19m 56s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f37b5296b22543768f15a733693411ea : SUCCESS in 17m 18s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/62de48f0023c4ae1af2dd2d500a5485b : SUCCESS in 15m 13s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/0153a82cff524a37af06f34a9f5dd2d1 : SUCCESS in 26m 19s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/5483e7defaec4f6fafe69e4d4563e596 : SUCCESS in 16m 26s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/1d0b181642f44936bc6ab14903e6dc85 : SUCCESS in 19m 54s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/33e46b41b10a4d34a297a8bc84e10140 : SUCCESS in 27m 46s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/62c380eb344248a4a769ec3b43a36a43 : POST_FAILURE in 17m 51s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/ee2a11e85bd44baa89459989cb1047b8 : SUCCESS in 14m 31s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/a1a82f707ba34c30ba5b99725399daa6 : SUCCESS in 18m 32s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/a09dfd972ad740d596568dec7bb3c1e1 : POST_FAILURE in 7m 05s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/95b86f56c99e46f99f22fd3e8a5a6dd5 : SUCCESS in 26m 45s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/5beafc31c8de47bdaa33408b553c78ad : SUCCESS in 43m 36s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/47b8c61d5d804876bc20548eac74e60e : SUCCESS in 56m 14s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/2ce76f22d12644d9b55f6a3a48223867 : SUCCESS in 48m 28s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/dc8199de741e424fa5cc01633aeadbba : SUCCESS in 35m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/42437a0ee57646acb5e5579ba3705e27 : SUCCESS in 18m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/941e1897d9a8402697ff574c6ac5a39d : SUCCESS in 7m 25s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a85ddfdc6d7b40149b1041a3bc120852 : SUCCESS in 23m 11s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8cc3de7c16fb47c9bcc62e7e1a82dd75 : SUCCESS in 53m 14s","accounts_in_message":[],"_revision_number":9},{"id":"a27df8b25da4866be625bc948ba4101dd0444fd7","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-13 12:33:57.000000000","message":"Patch Set 9:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/00e261a661e44f7abe910cb63b8d755e : SUCCESS in 47m 18s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/611aa9b58ae34bf08fe82a9212a7fc4f : SUCCESS in 1h 00m 02s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/7086d6d154014baabe6cce6372bb7b47 : TIMED_OUT in 2h 01m 35s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/cc8fbb46554044b1a3f8f35fa9bc6fa8 : SUCCESS in 1h 12m 49s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/0466d6268a8547c2a0a0371ec1a94780 : SUCCESS in 56m 03s (non-voting)","accounts_in_message":[],"_revision_number":9}],"current_revision_number":9,"current_revision":"494164998a1b16c7458b719c7863bd304d4ae365","revisions":{"1f2314a2d7b6d6fa0376dd2cc19134d24d71f445":{"kind":"REWORK","_number":1,"created":"2021-05-19 06:40:56.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/75/792075/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/75/792075/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/75/792075/1"}}},"commit":{"parents":[{"commit":"5610b1f1a524f0bd861d9aee49b58d01bcfa1d12","subject":"ring: Keep track of last primary nodes from last rebalance","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5610b1f1a524f0bd861d9aee49b58d01bcfa1d12"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-10 06:55:30.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-19 06:31:57.000000000","tz":600},"subject":"WIP: Use past node and abort to let handoff do the work","message":"WIP: Use past node and abort to let handoff do the work\n\nThis version is a little different, in this approach we still use\nthe last_node in the last hack (And the same bucket semantics which\nwe probably don\u0027t need so much anymore in this version). But in this\ncase when we find the missing frag we bail and let the handoff do it\u0027s\nthing. This stops a bunch of needless reconstruction and a\nreconstruction race with the other neighbour of the missing frag.\n\nOn my SAIO this sted things up the most because we are minimalising work\nand gives us a built in handoff\u0027s first if we either have it on a\nduplication node or post rebalance.\n\nAlso, if there is a last node, then it\u0027ll wait until it hears back from\nall initial requests so save on a needless reconstruction.\n\nThis needs a bunch of cleaning up. And may not need so much bucket work.\nThere might be a better way to short circuit.\n\nIt currently raises a DiskFileError(\u0027handoff to deal with!\u0027) because\nthat\u0027s what ssync is ready to catch and doesn\u0027t see it as an error. We\ncould plumb some better mechanism in there... throwing DiskFileErrors to\nlegitimatly bail seems a little dodgy.. But wanted to test the \"leave it\nto the hand offs case\".\n\nFinally it\u0027s also triggering a statsd found.last_node metric because it\nmight be interesting to monitor.\n\nChange-Id: Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1f2314a2d7b6d6fa0376dd2cc19134d24d71f445"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1f2314a2d7b6d6fa0376dd2cc19134d24d71f445"}]},"branch":"refs/heads/master"},"e69f163480f0040179855b9a61c518220916afb8":{"kind":"REWORK","_number":2,"created":"2021-05-24 03:38:05.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/75/792075/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/75/792075/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/75/792075/2"}}},"commit":{"parents":[{"commit":"5610b1f1a524f0bd861d9aee49b58d01bcfa1d12","subject":"ring: Keep track of last primary nodes from last rebalance","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5610b1f1a524f0bd861d9aee49b58d01bcfa1d12"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-10 06:55:30.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-24 03:31:58.000000000","tz":600},"subject":"WIP: Use past node and abort to let handoff do the work","message":"WIP: Use past node and abort to let handoff do the work\n\nThis version is a little different, in this approach we still use\nthe last_node in the last hack (And the same bucket semantics which\nwe probably don\u0027t need so much anymore in this version). But in this\ncase when we find the missing frag we bail and let the handoff do it\u0027s\nthing. This stops a bunch of needless reconstruction and a\nreconstruction race with the other neighbour of the missing frag.\n\nOn my SAIO this sted things up the most because we are minimalising work\nand gives us a built in handoff\u0027s first if we either have it on a\nduplication node or post rebalance.\n\nAlso, if there is a last node, then it\u0027ll wait until it hears back from\nall initial requests so save on a needless reconstruction.\n\nA new ssync exception has been created SsyndAbortDataFile which can be\nthrown from the sync_diskfile_builder callback. When thrown the ssync\nsender will move onto the next diskfile to send. When we find a missing\nfrag index on another node, either due to duplication or found on an old\nprimary, then this is thrown to abort the current ssync action and\nleaves it to the handoff node.\n\nFinally it\u0027s also triggering a statsd found.last_node metric because it\nmight be interesting to monitor.\n\nChange-Id: Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e69f163480f0040179855b9a61c518220916afb8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e69f163480f0040179855b9a61c518220916afb8"}]},"branch":"refs/heads/master"},"e3fb14a33f2d59b8549ab6f42065e3436b22b1d2":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2021-05-24 03:46:20.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/75/792075/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/75/792075/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/75/792075/3"}}},"commit":{"parents":[{"commit":"5610b1f1a524f0bd861d9aee49b58d01bcfa1d12","subject":"ring: Keep track of last primary nodes from last rebalance","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5610b1f1a524f0bd861d9aee49b58d01bcfa1d12"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-10 06:55:30.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-24 03:45:17.000000000","tz":600},"subject":"WIP: Reconstructor: Use past node and abort to handoff","message":"WIP: Reconstructor: Use past node and abort to handoff\n\nThis version is a little different, in this approach we still use\nthe last_node in the last hack (And the same bucket semantics which\nwe probably don\u0027t need so much anymore in this version). But in this\ncase when we find the missing frag we bail and let the handoff do it\u0027s\nthing. This stops a bunch of needless reconstruction and a\nreconstruction race with the other neighbour of the missing frag.\n\nOn my SAIO this sted things up the most because we are minimalising work\nand gives us a built in handoff\u0027s first if we either have it on a\nduplication node or post rebalance.\n\nAlso, if there is a last node, then it\u0027ll wait until it hears back from\nall initial requests so save on a needless reconstruction.\n\nA new ssync exception has been created SsyndAbortDataFile which can be\nthrown from the sync_diskfile_builder callback. When thrown the ssync\nsender will move onto the next diskfile to send. When we find a missing\nfrag index on another node, either due to duplication or found on an old\nprimary, then this is thrown to abort the current ssync action and\nleaves it to the handoff node.\n\nFinally it\u0027s also triggering a statsd found.last_node metric because it\nmight be interesting to monitor.\n\nChange-Id: Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e3fb14a33f2d59b8549ab6f42065e3436b22b1d2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e3fb14a33f2d59b8549ab6f42065e3436b22b1d2"}]},"branch":"refs/heads/master"},"c299c9208882293382fc1d73e1dd95698bbc184c":{"kind":"REWORK","_number":4,"created":"2021-06-07 03:35:54.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/75/792075/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/75/792075/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/75/792075/4"}}},"commit":{"parents":[{"commit":"5610b1f1a524f0bd861d9aee49b58d01bcfa1d12","subject":"ring: Keep track of last primary nodes from last rebalance","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5610b1f1a524f0bd861d9aee49b58d01bcfa1d12"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-10 06:55:30.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-06-07 03:35:23.000000000","tz":600},"subject":"WIP: Reconstructor: Use past node and abort to handoff","message":"WIP: Reconstructor: Use past node and abort to handoff\n\nThis version is a little different, in this approach we still use\nthe last_node in the last hack (And the same bucket semantics which\nwe probably don\u0027t need so much anymore in this version). But in this\ncase when we find the missing frag we bail and let the handoff do it\u0027s\nthing. This stops a bunch of needless reconstruction and a\nreconstruction race with the other neighbour of the missing frag.\n\nOn my SAIO this sted things up the most because we are minimalising work\nand gives us a built in handoff\u0027s first if we either have it on a\nduplication node or post rebalance.\n\nAlso, if there is a last node, then it\u0027ll wait until it hears back from\nall initial requests so save on a needless reconstruction.\n\nA new ssync exception has been created SsyndAbortDataFile which can be\nthrown from the sync_diskfile_builder callback. When thrown the ssync\nsender will move onto the next diskfile to send. When we find a missing\nfrag index on another node, either due to duplication or found on an old\nprimary, then this is thrown to abort the current ssync action and\nleaves it to the handoff node.\n\nFinally it\u0027s also triggering a statsd found.last_node metric because it\nmight be interesting to monitor.\n\nChange-Id: Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c299c9208882293382fc1d73e1dd95698bbc184c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c299c9208882293382fc1d73e1dd95698bbc184c"}]},"branch":"refs/heads/master"},"c67491d15d5d550cd9def61b72a6623d167e915e":{"kind":"REWORK","_number":5,"created":"2021-08-06 01:40:17.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/75/792075/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/75/792075/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/75/792075/5"}}},"commit":{"parents":[{"commit":"b611c12e62834a2adfb04c2007c0d24000d71ded","subject":"ring: Keep track of last primary nodes from last rebalance","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b611c12e62834a2adfb04c2007c0d24000d71ded"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-10 06:55:30.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:39:34.000000000","tz":600},"subject":"WIP: Reconstructor: Use past node and abort to handoff","message":"WIP: Reconstructor: Use past node and abort to handoff\n\nThis version is a little different, in this approach we still use\nthe last_node in the last hack (And the same bucket semantics which\nwe probably don\u0027t need so much anymore in this version). But in this\ncase when we find the missing frag we bail and let the handoff do it\u0027s\nthing. This stops a bunch of needless reconstruction and a\nreconstruction race with the other neighbour of the missing frag.\n\nOn my SAIO this sted things up the most because we are minimalising work\nand gives us a built in handoff\u0027s first if we either have it on a\nduplication node or post rebalance.\n\nAlso, if there is a last node, then it\u0027ll wait until it hears back from\nall initial requests so save on a needless reconstruction.\n\nA new ssync exception has been created SsyndAbortDataFile which can be\nthrown from the sync_diskfile_builder callback. When thrown the ssync\nsender will move onto the next diskfile to send. When we find a missing\nfrag index on another node, either due to duplication or found on an old\nprimary, then this is thrown to abort the current ssync action and\nleaves it to the handoff node.\n\nFinally it\u0027s also triggering a statsd found.last_node metric because it\nmight be interesting to monitor.\n\nChange-Id: Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c67491d15d5d550cd9def61b72a6623d167e915e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c67491d15d5d550cd9def61b72a6623d167e915e"}]},"branch":"refs/heads/master"},"bb98190eca2332a102fdf99e43360b837d652d78":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2021-08-13 07:02:48.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/75/792075/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/75/792075/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/75/792075/6"}}},"commit":{"parents":[{"commit":"58d95d649a98f61f2118a05d334a0f9f32ba0dc0","subject":"ring: Keep track of last primary nodes from last rebalance","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/58d95d649a98f61f2118a05d334a0f9f32ba0dc0"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-10 06:55:30.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-13 07:02:33.000000000","tz":600},"subject":"WIP: Reconstructor: Use past node and abort to handoff","message":"WIP: Reconstructor: Use past node and abort to handoff\n\nThis version is a little different, in this approach we still use\nthe last_node in the last hack (And the same bucket semantics which\nwe probably don\u0027t need so much anymore in this version). But in this\ncase when we find the missing frag we bail and let the handoff do it\u0027s\nthing. This stops a bunch of needless reconstruction and a\nreconstruction race with the other neighbour of the missing frag.\n\nOn my SAIO this sted things up the most because we are minimalising work\nand gives us a built in handoff\u0027s first if we either have it on a\nduplication node or post rebalance.\n\nAlso, if there is a last node, then it\u0027ll wait until it hears back from\nall initial requests so save on a needless reconstruction.\n\nA new ssync exception has been created SsyndAbortDataFile which can be\nthrown from the sync_diskfile_builder callback. When thrown the ssync\nsender will move onto the next diskfile to send. When we find a missing\nfrag index on another node, either due to duplication or found on an old\nprimary, then this is thrown to abort the current ssync action and\nleaves it to the handoff node.\n\nFinally it\u0027s also triggering a statsd found.last_node metric because it\nmight be interesting to monitor.\n\nChange-Id: Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb98190eca2332a102fdf99e43360b837d652d78"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb98190eca2332a102fdf99e43360b837d652d78"}]},"branch":"refs/heads/master"},"82ce65538ade3a466d886ce1c79914a522d0b17e":{"kind":"REWORK","_number":7,"created":"2021-10-12 20:54:52.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/75/792075/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/75/792075/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/75/792075/7"}}},"commit":{"parents":[{"commit":"1e37c8f3849948e9fb756552176b7e8c3d422373","subject":"ring: Keep track of last primary nodes from last rebalance","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1e37c8f3849948e9fb756552176b7e8c3d422373"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-10 06:55:30.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-10-12 20:54:05.000000000","tz":-420},"subject":"WIP: Reconstructor: Use past node and abort to handoff","message":"WIP: Reconstructor: Use past node and abort to handoff\n\nThis version is a little different, in this approach we still use\nthe last_node in the last hack (And the same bucket semantics which\nwe probably don\u0027t need so much anymore in this version). But in this\ncase when we find the missing frag we bail and let the handoff do it\u0027s\nthing. This stops a bunch of needless reconstruction and a\nreconstruction race with the other neighbour of the missing frag.\n\nOn my SAIO this sted things up the most because we are minimalising work\nand gives us a built in handoff\u0027s first if we either have it on a\nduplication node or post rebalance.\n\nAlso, if there is a last node, then it\u0027ll wait until it hears back from\nall initial requests so save on a needless reconstruction.\n\nA new ssync exception has been created SsyndAbortDataFile which can be\nthrown from the sync_diskfile_builder callback. When thrown the ssync\nsender will move onto the next diskfile to send. When we find a missing\nfrag index on another node, either due to duplication or found on an old\nprimary, then this is thrown to abort the current ssync action and\nleaves it to the handoff node.\n\nFinally it\u0027s also triggering a statsd found.last_node metric because it\nmight be interesting to monitor.\n\nChange-Id: Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/82ce65538ade3a466d886ce1c79914a522d0b17e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/82ce65538ade3a466d886ce1c79914a522d0b17e"}]},"branch":"refs/heads/master"},"30385fae604603b67c37dcf95a5eef97904d748a":{"kind":"REWORK","_number":8,"created":"2021-10-13 02:20:53.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/75/792075/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/75/792075/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/75/792075/8"}}},"commit":{"parents":[{"commit":"5ab3c6aebb8b6e536de64ec646a33ecc79a4efb5","subject":"ring: Keep track of last primary nodes from last rebalance","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5ab3c6aebb8b6e536de64ec646a33ecc79a4efb5"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-10 06:55:30.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-10-13 02:18:55.000000000","tz":-420},"subject":"WIP: Reconstructor: Use past node and abort to handoff","message":"WIP: Reconstructor: Use past node and abort to handoff\n\nThis version is a little different, in this approach we still use\nthe last_node in the last hack (And the same bucket semantics which\nwe probably don\u0027t need so much anymore in this version). But in this\ncase when we find the missing frag we bail and let the handoff do it\u0027s\nthing. This stops a bunch of needless reconstruction and a\nreconstruction race with the other neighbour of the missing frag.\n\nOn my SAIO this sted things up the most because we are minimalising work\nand gives us a built in handoff\u0027s first if we either have it on a\nduplication node or post rebalance.\n\nAlso, if there is a last node, then it\u0027ll wait until it hears back from\nall initial requests so save on a needless reconstruction.\n\nA new ssync exception has been created SsyndAbortDataFile which can be\nthrown from the sync_diskfile_builder callback. When thrown the ssync\nsender will move onto the next diskfile to send. When we find a missing\nfrag index on another node, either due to duplication or found on an old\nprimary, then this is thrown to abort the current ssync action and\nleaves it to the handoff node.\n\nFinally it\u0027s also triggering a statsd found.last_node metric because it\nmight be interesting to monitor.\n\nChange-Id: Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/30385fae604603b67c37dcf95a5eef97904d748a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/30385fae604603b67c37dcf95a5eef97904d748a"}]},"branch":"refs/heads/master"},"494164998a1b16c7458b719c7863bd304d4ae365":{"kind":"NO_CODE_CHANGE","_number":9,"created":"2021-10-13 09:05:04.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/75/792075/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/75/792075/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/75/792075/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/75/792075/9"}}},"commit":{"parents":[{"commit":"5ab3c6aebb8b6e536de64ec646a33ecc79a4efb5","subject":"ring: Keep track of last primary nodes from last rebalance","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5ab3c6aebb8b6e536de64ec646a33ecc79a4efb5"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-10 06:55:30.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-10-13 09:04:58.000000000","tz":0},"subject":"WIP: Reconstructor: Use past node and abort to handoff","message":"WIP: Reconstructor: Use past node and abort to handoff\n\nBefore the reconstructor makes a bunch of connections to go rebuild\nthe missing fragment it makes it takes advantage of the last_primary\ntable in the ring. If there is a last primariy for the missing frags\npartition then it\u0027ll first do a HEAD to see if the missing fragment\nfor the same timestamp exists there. If it does, it will tell the\ncurrent ssync session to abort and skip this datafile, and let the\nhandoff REVERT the missing fragment saving a needless rebuild.\n\nIn order to abort the current diskfile in ssync, a new ssync exception\nhas been created called SsyndAbortDataFile which can be thrown from the\nsync_diskfile_builder callback. When thrown the ssync sender will move\nonto the next diskfile to send.\n\nFinally it\u0027s also triggering a statsd found.last_node metric because it\nmight be interesting to monitor.\n\nChange-Id: Ie6e039a52067db1c02febb39f9c5c0829e5ed0a4\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/494164998a1b16c7458b719c7863bd304d4ae365"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/494164998a1b16c7458b719c7863bd304d4ae365"}]},"branch":"refs/heads/master","description":"Edit commit message"}},"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":""}}}]}
