)]}'
{"id":"openstack%2Fswift~772624","triplet_id":"openstack%2Fswift~master~I63fc9ae39e164c2ce82865d055527b52c86b5b2a","project":"openstack/swift","branch":"master","topic":"add_shrink_candidates_to_recon_dump_roots","hashtags":[],"change_id":"I63fc9ae39e164c2ce82865d055527b52c86b5b2a","subject":"Add shrink candidates to recon dump","status":"MERGED","created":"2021-01-27 05:11:54.000000000","updated":"2021-02-22 23:37:43.000000000","submitted":"2021-02-22 23:35:14.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":37,"unresolved_comment_count":10,"has_review_started":true,"submission_id":"772624-add_shrink_candidates_to_recon_dump_roots","meta_rev_id":"d8254d36fba73d4fd1055ce6f24e5398cd737ad1","_number":772624,"virtual_id_number":772624,"owner":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-02-22 23:35:12.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":2,"date":"2021-02-12 18:15:08.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":1,"date":"2021-02-22 22:12:31.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"reviewers":{"REVIEWER":[{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_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-01-27 06:34:53.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-01-27 12:57:33.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"CC"},{"updated":"2021-02-08 13:41:44.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"REVIEWER"},{"updated":"2021-02-12 03:09:06.000000000","updated_by":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"reviewer":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"state":"REVIEWER"},{"updated":"2021-02-12 16:27:36.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":"3732aaf8159215c521a6ecaa5ffb81e5579d1cfc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-01-27 05:11:54.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b70858fb21035eca9900a58cd5530118ceeb7ae6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-01-27 05:16:57.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"29f0884d7dafe465a6a2e9e69d489dc4ad35af79","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-27 06:34:53.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d54c05cd70584ec0886c6dc315c99095 : SUCCESS in 8m 44s\n- grenade https://zuul.opendev.org/t/openstack/build/804109716b944f2fbd19bc9821feaead : SUCCESS in 1h 05m 34s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/79da37f58a6946c4b570ab94d9e98108 : SUCCESS in 50m 41s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/4173539f78eb49b98db7e75276760639 : SUCCESS in 7m 45s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/e6f264b8556e4ec192bb21c807c9e676 : SUCCESS in 10m 06s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/ef3bfa8c15114bdd90fe8025b698dce8 : SUCCESS in 13m 32s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/c12173926c0b43b0bcff802685365ccf : SUCCESS in 18m 58s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1d0a995b79be4ad19d418dfd0b29b8c0 : SUCCESS in 13m 41s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/bcf0f1278ba04bd294bef7fccd97cb6d : SUCCESS in 19m 11s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/b6a16a23a0054a1295ea283ed6a54a17 : SUCCESS in 17m 11s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/b14708eb522a48e7b4bf4c531fc62b40 : FAILURE in 22m 22s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/074194b6a9434898ad5fe2828f483396 : SUCCESS in 17m 27s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/cd3fa5337d9f41fd89ac225a9ecae00f : SUCCESS in 15m 43s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/72b8b24af93c494b9b7bda5b9e092163 : SUCCESS in 17m 56s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/f7dfc692d48249e3abdf853a048d9146 : SUCCESS in 23m 25s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/54b27612aacc4f88ac763c354252a92a : SUCCESS in 22m 52s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/83ab6c52c94d44f1abeaef902b46ed60 : SUCCESS in 44m 06s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/9785b05407a548fa9f0fbe2898d9c6ce : SUCCESS in 48m 02s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/50f5c2f21f8143b6b67f4b89d60591c9 : SUCCESS in 36m 05s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/fd1582cd117b4896a0ffdd41f2af5eab : SUCCESS in 34m 58s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/873aa73e0eaa421889d0752c19f67454 : SUCCESS in 12m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d60f73e8ab854c20be4c5cf51a626663 : SUCCESS in 5m 19s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f37c6e5b366544878ec66f03969b69d9 : FAILURE in 8m 26s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/425a41abc0204ccc8ca5f54c67a9c6a7 : SUCCESS in 1h 01m 24s","accounts_in_message":[],"_revision_number":2},{"id":"72c618cc96e81237a705c9de0928a460a318e57e","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-27 12:57:33.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"db3a2df54816d22c716c193f42a0ec7e0899353e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-01-28 07:28:57.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"e924c7b57baf9f4ab1ae559a228863c41178f3fa","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-01-28 07:33:29.000000000","message":"Uploaded patch set 4: Commit message was updated.","accounts_in_message":[],"_revision_number":4},{"id":"8d440fd598df454f6606124bcd98841f4717d002","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-28 09:20:02.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/04fcd616f7fd419ead79ebf19b5e63c5 : SUCCESS in 13m 13s\n- grenade https://zuul.opendev.org/t/openstack/build/b83f73acb8c746ceb34733be1ea9e612 : SUCCESS in 1h 25m 18s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/2f460d6a51954dd6ba01c58068bd5b56 : SUCCESS in 58m 01s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/eb1b365d31474c98bf66715326858380 : SUCCESS in 9m 26s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/d07eb40892db4596aa5761c4d2779b69 : SUCCESS in 9m 01s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/a629d13702734eec807d1dfa85f2386d : SUCCESS in 13m 38s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/c3f1488feb4649b78fe0370e0821f52d : SUCCESS in 13m 10s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f5edaa8d4a9e47a6852bd3a4db40d4a9 : SUCCESS in 14m 15s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/c1a6ba75f1e94d24ba504c6f5efc9801 : SUCCESS in 13m 22s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/8baf2a4521fb4bbb97409a2cbce9e5c8 : SUCCESS in 20m 09s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/2bd06ceefa47417a8b2cd2f92035ff0d : SUCCESS in 38m 00s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/1d7072124bd4496f9e9852295dc6bcb1 : SUCCESS in 18m 58s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/00db15ec616047729598656e7457b5b6 : SUCCESS in 16m 32s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/6a53153130ff479888d83661b574d3b6 : SUCCESS in 16m 41s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/af9185c68e3d4bbe87f9eb76dceec541 : SUCCESS in 18m 06s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/feac26c666e741b2ae47798b707da738 : FAILURE in 19m 14s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/4cfe664dcc8540d1b5c13dcb55c28b85 : SUCCESS in 44m 15s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/b1e68c9ca84d454487654557a3ab8414 : SUCCESS in 48m 16s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/78d387401a0e49cf81c29005bb51f389 : SUCCESS in 39m 23s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f85f3753d0b24d0aaffea208afcab2dd : SUCCESS in 39m 47s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e2e6237b0d1d4b158cc6132c12c7a9c1 : SUCCESS in 14m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1073b14230294448ae17b87366424bc7 : SUCCESS in 5m 22s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/d5a860f768a94da7b2f0bd3d18ebf224 : FAILURE in 8m 41s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e1bccc02872a4143b244654162ea9a44 : SUCCESS in 56m 44s","accounts_in_message":[],"_revision_number":4},{"id":"129ac82c8adbda427de1ccfb64a7714bfbaf2cee","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-08 03:06:14.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"fb998ba1f4ed0f01e099967ff14bde203abb1fee","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-08 04:00:27.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0fe1b547800042e1a40974ea3efe3938 : SUCCESS in 7m 34s\n- grenade https://zuul.opendev.org/t/openstack/build/40449137c0c74c8cb00731fe0f82d3f6 : SUCCESS in 53m 10s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f1378f3b329741f098ec792809ee5f32 : SUCCESS in 39m 18s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/bdcf5675d0a646a2a3a018a7e8d0b890 : SUCCESS in 7m 16s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/8d8416acee774d2db5f309e03102b708 : SUCCESS in 5m 01s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/8ed37b7f8f164a85bd25560d8bcd985f : SUCCESS in 13m 23s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/5fed57941b234788a9212f85b610d01d : SUCCESS in 16m 38s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a525c43fa5d84380810f98d6322771cf : SUCCESS in 13m 25s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/04bc990f092e4ec59999f4d14618a1be : SUCCESS in 13m 44s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/e21901bc64a044b6aae81094132a03dd : SUCCESS in 18m 05s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/1d19e7aa284544b981a0f68935047f8b : SUCCESS in 15m 33s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/b4963467410945a7a9b42ae1f942d2fa : SUCCESS in 15m 37s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/a9acb28b736347b5b853494d3015255c : SUCCESS in 16m 03s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/771b66bdb08c45e389dab8731b95a4ea : SUCCESS in 17m 12s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/b043ae8874214c7ca2b4a76dc129e39b : SUCCESS in 17m 52s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/623f01988003458f9fd558af87993d49 : FAILURE in 19m 56s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/44f908b6e71845d6a484ec62c23c33ed : SUCCESS in 48m 46s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/74f8eb2bfdc5429b9008d0ff7a4121af : SUCCESS in 45m 01s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c42b248c79f24708a025ef0240177bb1 : SUCCESS in 37m 47s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/de1b9fd81c9d406eb65c2c704cb87fae : SUCCESS in 30m 04s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c46ee6a3634d4048a932bbf75f04c79d : SUCCESS in 13m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c817c1d91248457eaaa10f7b3289d908 : SUCCESS in 4m 27s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/190b2a0a57794612be238fbbe46a3f34 : FAILURE in 6m 33s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0445a8e1663743b89d4640de79da9d31 : SUCCESS in 52m 47s","accounts_in_message":[],"_revision_number":5},{"id":"451e350d8398cf567bf8175edbbc5a6da7636aab","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-02-08 13:41:44.000000000","message":"Patch Set 5: Code-Review-1\n\n(9 comments)\n\ngreat progress Matt\n\nsome suggestions to squash if you like here: https://review.opendev.org/c/openstack/swift/+/774456\n\nmight be worth a discussion about which of the counts to actually report. I prefer numbers that relate to the outcome of the actions that could be taken.","accounts_in_message":[],"_revision_number":5},{"id":"7768e9d92e807bafd7a5a358b94901312d78faff","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-09 05:46:12.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"7b3b2791e287ae400b629c8ce07eb35a1e0fd3c5","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-09 05:46:35.000000000","message":"Patch Set 6:\n\n(8 comments)","accounts_in_message":[],"_revision_number":6},{"id":"ed042645942aba1533ce5a66d81c7f729be36590","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-09 05:53:01.000000000","message":"Uploaded patch set 7: Commit message was updated.","accounts_in_message":[],"_revision_number":7},{"id":"a80bec5f9cb320b60024b71b6b2e4ffed458af24","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-09 05:57:07.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"fcaa31a9c90feb24b3489ce20f78bf7a6f040b3f","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-09 05:59:16.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"e6df02c9cc53216caa3b6b79bb2a2eee0a4a4867","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-09 07:06:33.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/86a47e4772934f9fbeaf43ef83ae4286 : SUCCESS in 11m 15s\n- grenade https://zuul.opendev.org/t/openstack/build/8c9ceed1ad0c49218c934b1b715fbc5b : SUCCESS in 1h 01m 00s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/74dd0a0cf11e478b9da1ac6f057e0cba : SUCCESS in 34m 33s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/6515527e7d284f5390a957c908ddad34 : SUCCESS in 7m 42s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/4dff00f768b342beb84c244adfc1391f : SUCCESS in 5m 39s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/b9c112138be34d8ab8d5d0cdaf6c428e : SUCCESS in 32m 23s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/6f8ef3f81d634f6583867a798eeb756e : SUCCESS in 16m 16s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/70a962e781dd4a62a392ce7cde27be2c : SUCCESS in 18m 40s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/c939882e67544e0fabf3d8aa4072ade1 : SUCCESS in 13m 39s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/97a80f0004ab47d19648b4a982c9342c : SUCCESS in 30m 05s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/8952290bf3f648b28f3746bc93ed6e79 : SUCCESS in 17m 07s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/7c6c19699f1844f897056f806cc309af : SUCCESS in 30m 05s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/5546ff5c029246e7ac89f4bf12f8cf87 : SUCCESS in 29m 37s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/e6896a88b318496581cc77aa7a378538 : SUCCESS in 16m 29s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/650eb576c273451aaf3cb4153e4c6668 : SUCCESS in 20m 23s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c09860b6be4547909a531bbdccc5aedf : SUCCESS in 19m 47s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/f1ec9e59000d4cb381972532e2d2a71a : SUCCESS in 1h 11m 47s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/6accaf46ca144aac880dd7f2789880e2 : SUCCESS in 53m 06s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/4fca65d746814888851dd6acd4664857 : SUCCESS in 42m 56s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/642c65e69bb546e38e5ec2f31d5ec8ad : SUCCESS in 41m 26s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a163fcf6afdd448881fbe04d0a50ef81 : SUCCESS in 14m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/01eaedf0d0574133a3d99bcb086c1ac1 : SUCCESS in 5m 51s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/d045f222c6d44a3ca616d0df8e7c6a08 : FAILURE in 9m 02s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1914fb9c4b744cd9a17898d159319be5 : SUCCESS in 59m 39s","accounts_in_message":[],"_revision_number":7},{"id":"619cb6d22b89106f4da02cc413fe1b2aa2f56290","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-02-09 11:07:57.000000000","message":"Patch Set 7:\n\n(3 comments)\n\nI wonder if we could make faster forwards progress on merging this functionality if this came ahead of the conf file change?\n\nI\u0027ll get my patch in shape to help avoid reporting shrinking sequences","accounts_in_message":[],"_revision_number":7},{"id":"c77191c96861b8bf8a597cf1d019ef5e8e9f3a23","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-02-09 15:46:52.000000000","message":"Patch Set 7:\n\n(1 comment)\n\nI\u0027ve updated https://review.opendev.org/c/openstack/swift/+/774560 so if you rebase on that then find_compactable_shard_sequences should no longer return those sequences that have been \u0027actioned\u0027.\n\nWith that, the extra test assertions I put in https://review.opendev.org/c/openstack/swift/+/774456 should pass IIRC","accounts_in_message":[],"_revision_number":7},{"id":"4132d05ce645c888ed36b7ae6204f30e810ef8d0","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-09 23:57:09.000000000","message":"Patch Set 7:\n\n(3 comments)","accounts_in_message":[],"_revision_number":7},{"id":"85ad81e1c58ea7934412336c36e8ff83b2763a9c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-10 01:15:18.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"330af35e1f32058da0e81a8e001fabf1d6d93837","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-10 02:43:09.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/22fd1042b67f4ff0bc96335c6eeb4f03 : SUCCESS in 7m 33s\n- grenade https://zuul.opendev.org/t/openstack/build/bca8018e584a4dedb257542a594f144e : SUCCESS in 47m 13s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/b6cfcbb2d84945a5aca7a300f0243235 : SUCCESS in 49m 59s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/db88c9ced6fb4b5e8a3bc7ba4de68248 : SUCCESS in 8m 34s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/bcab86b1c1d745618c18c1ad65362ef3 : SUCCESS in 6m 06s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/3bdb2420cd074d15bffeefb7a73ceadf : SUCCESS in 25m 17s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/b519c6c292594749be3ebb900616579c : SUCCESS in 25m 08s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/694276456aef460990260afd686c7c22 : SUCCESS in 13m 54s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/a1113c40d5744e918992838be45ba97e : SUCCESS in 13m 26s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/90205291638a4324a36663ae68762e83 : SUCCESS in 15m 12s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/09bd5d4fb2764228b417235e9650621b : SUCCESS in 16m 14s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/e1b22c1f4c0b4b08a82ebdcb208831c4 : SUCCESS in 16m 25s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/daea0288e5394be393aa13f5c926a749 : SUCCESS in 16m 08s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/5ee55da5511d42f0b199bbdeb53c050f : SUCCESS in 16m 35s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/f875254a00c045c7a340ac5c58cae080 : SUCCESS in 18m 33s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/bcdc2f64784249d9af6b8ab624faa909 : SUCCESS in 18m 56s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/28d30cb271ee499e9be2259aa77c534b : SUCCESS in 45m 58s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/b4babc896b77439691421fb7e73d7b08 : SUCCESS in 45m 32s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/fe708118d79e4e739a43e1563eb6a7dd : SUCCESS in 36m 13s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/58a31aa1db8e4d769db6473e3f2a914d : SUCCESS in 38m 14s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c136a1e363274aa88d3c776e8123ed72 : SUCCESS in 12m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cb82c31010e14f0e8d859c6ab358a112 : SUCCESS in 5m 35s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c2c18f14ac8e4fbf8f1424300f2fd60b : FAILURE in 8m 12s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/bcb0dde046d24ba8822b75ed758144f2 : SUCCESS in 56m 58s","accounts_in_message":[],"_revision_number":8},{"id":"f89b72be5c206e4a2d4a4df1048e3d4a5c88e2cd","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-02-10 11:17:31.000000000","message":"Patch Set 8:\n\n(2 comments)","accounts_in_message":[],"_revision_number":8},{"id":"d84453e4a4fd950e077b94e82900f3a89942b34e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-11 01:02:13.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"4c9bfab2a6ebb20c11b2622e4ebcfce3a036b53e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-11 02:05:54.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/4d65e7bf0b6d4e3eba3f11db262d9f7c : SUCCESS in 9m 20s\n- grenade https://zuul.opendev.org/t/openstack/build/8f3d5092e125403e9ee9e7e95d1d475b : SUCCESS in 58m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/d32f1a6c20c54dd2a8f91f1b4fcbd437 : SUCCESS in 46m 36s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/86efd4ed747b4d89b761a6945cab397b : SUCCESS in 8m 27s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/12e4b85444814ad38d0deeb04d0a459a : SUCCESS in 5m 50s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/a1ed70e9292e458b8ae2845dd54e3c16 : SUCCESS in 13m 46s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/d58ef29d86984e3394cfe7f738a55da9 : SUCCESS in 14m 40s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/81772f3dd5ff4256aa004e897002f426 : SUCCESS in 13m 52s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/300c5cfcf55b4c8db6192d32cd73ab9a : SUCCESS in 17m 06s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/0db25fe08a1c4a8191da240d1000efd3 : SUCCESS in 17m 00s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/3ddec0df29604cad9fdb496a8e0249ad : SUCCESS in 15m 52s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/bffdbd6ad5d0429fad61101b899f7080 : SUCCESS in 18m 03s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/70726d6f167e412082fbba519a586d3a : SUCCESS in 16m 54s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/f986f79208b944b69330278047736626 : FAILURE in 36m 09s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/00c35e32dbed49ef9a1fc72733414078 : SUCCESS in 18m 13s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/7ce18a9e28ed49a8a5e0fd9959a63f86 : SUCCESS in 19m 29s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/291c926a6ae94ba9abd3f162e9fb5e5b : SUCCESS in 41m 48s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/854cf2a581dd4d0bac520536099f7f52 : SUCCESS in 49m 49s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/dbadff6b0416472a94d183c59a29071b : SUCCESS in 37m 37s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/10095d61611540f5a027da9c3777a0e2 : SUCCESS in 40m 20s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1a9cc047805845e9b6bc3f6c8338819b : SUCCESS in 16m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6f5eb0d8a6ea48d0ba455d93bc863c5f : SUCCESS in 5m 06s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/576050ce585e4e8680856230a0415977 : FAILURE in 7m 58s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/10f6f285c4a04a73a84305d4a16e6c0f : SUCCESS in 50m 22s","accounts_in_message":[],"_revision_number":9},{"id":"b4c9c60dad1c2291863de8c3c6be9658399ec237","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-11 02:57:36.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"548e9e28db2eb5fc913cbfdb1f9f6b5c769439d5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-11 04:03:36.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ef4367f0b42f4cefad3ce8c0ea293b10 : SUCCESS in 8m 40s\n- grenade https://zuul.opendev.org/t/openstack/build/fd2976e99346498882dedc025b77d85a : SUCCESS in 1h 01m 46s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/91541df8b1ca48bd854280e9fc431135 : SUCCESS in 54m 41s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/43a179f0755e44f1a7b5ed0adb06e614 : SUCCESS in 8m 56s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/6ecf643882ab4cd3b01babdc2d2d4b36 : SUCCESS in 5m 05s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/3ca98ef9efa740c09c7fbb97506d1b4c : SUCCESS in 14m 27s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/95519b23f48648eda9f84b7aeb45e0ec : SUCCESS in 15m 12s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/50709c66caf24370a25bd8fea8ace93a : SUCCESS in 13m 36s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/042d2c81982845c3a55c13fd9e1b632e : SUCCESS in 14m 03s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/ebc7dcc7373744f5821af60159b435ca : SUCCESS in 15m 29s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/996f70c221fe45ee8e6e42818d132580 : SUCCESS in 18m 10s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/0ca9813de1404dd79622dd499b615ea2 : SUCCESS in 16m 59s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/50709187032242408d5c09a408760ba6 : SUCCESS in 18m 57s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/e4b05b27e2984b60a9cb9d8b530a1cfe : SUCCESS in 16m 20s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/58966ac1f85041cca7b466bc04d41e98 : SUCCESS in 18m 42s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/19b49ae38ab64eb5a9aeb59c400dc3bb : SUCCESS in 21m 25s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/2da70ec7aec34c309a7653f05320407e : SUCCESS in 20m 10s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/e5d1b010252a41d29b82e834f6870610 : SUCCESS in 49m 54s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/a2cbe750be554f12b7e6caaa049c47ec : SUCCESS in 45m 51s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c911e531e22e4fb8b5663d8174750150 : SUCCESS in 38m 06s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/30d58453b1f841eaa95076afc37cc62d : SUCCESS in 34m 18s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9cf8e4c7b0134f059ce8836fc231d701 : SUCCESS in 13m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/45499664c0d44c4585d14691b910540d : SUCCESS in 4m 57s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/751bc0dbcf754bd4ac092dd00275b8fe : FAILURE in 7m 29s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/bbd5b99bbbc94b47b5b3431a949253dd : SUCCESS in 58m 40s","accounts_in_message":[],"_revision_number":10},{"id":"c7dda7c621e62edac15a843c3ceea5d329791d6d","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-02-11 12:08:07.000000000","message":"Patch Set 10: Code-Review+2\n\n(3 comments)\n\nlooking good - I\u0027m annoyed at myself about the compactible spelling and would ideally like consistency so https://review.opendev.org/c/openstack/swift/+/775138\n\nI extended the test to move ranges to shrunk and see more sequences become compactible https://review.opendev.org/c/openstack/swift/+/775137. \u003c-- squash in if you like\n\nOn my SAIO:\n\n  vagrant@saio:~/swift$ python -m json.tool \u003c/var/cache/swift/node2/container.recon \n{\n    \"replication_last\": 1613043951.664182,\n    \"replication_stats\": {\n        \"attempted\": 1,\n        \"deferred\": 2,\n        \"diff\": 0,\n        \"diff_capped\": 0,\n        \"empty\": 0,\n        \"failure\": 0,\n        \"hashmatch\": 0,\n        \"no_change\": 0,\n        \"remote_merge\": 0,\n        \"remove\": 0,\n        \"rsync\": 0,\n        \"start\": 1613043951.474921,\n        \"success\": 2,\n        \"ts_repl\": 0\n    },\n    \"replication_time\": 0.18926095962524414,\n    \"sharding_last\": 1613043958.028969,\n    \"sharding_stats\": {\n        \"attempted\": 2,\n        \"deferred\": 0,\n        \"diff\": 0,\n        \"diff_capped\": 0,\n        \"empty\": 0,\n        \"failure\": 0,\n        \"hashmatch\": 0,\n        \"no_change\": 5,\n        \"remote_merge\": 0,\n        \"remove\": 1,\n        \"rsync\": 0,\n        \"sharding\": {\n            \"audit_root\": {\n                \"attempted\": 1,\n                \"failure\": 0,\n                \"success\": 1\n            },\n            \"audit_shard\": {\n                \"attempted\": 0,\n                \"failure\": 0,\n                \"success\": 0\n            },\n            \"cleaved\": {\n                \"attempted\": 2,\n                \"failure\": 0,\n                \"max_time\": 0.158,\n                \"min_time\": 0.14,\n                \"success\": 2\n            },\n            \"created\": {\n                \"attempted\": 0,\n                \"failure\": 0,\n                \"success\": 0\n            },\n            \"misplaced\": {\n                \"attempted\": 1,\n                \"failure\": 0,\n                \"found\": 0,\n                \"placed\": 0,\n                \"success\": 1,\n                \"unplaced\": 0\n            },\n            \"scanned\": {\n                \"attempted\": 0,\n                \"failure\": 0,\n                \"found\": 0,\n                \"max_time\": 0,\n                \"min_time\": 0,\n                \"success\": 0\n            },\n            \"sharding_candidates\": {\n                \"found\": 0,\n                \"top\": []\n            },\n            \"shrinking_candidates\": {\n                \"found\": 1,\n                \"top\": [\n                    {\n                        \"account\": \"AUTH_test\",\n                        \"compactible_ranges\": 2,\n                        \"container\": \"container-75c18655-fa58-4190-9ff5-ffe22693f334\",\n                        \"file_size\": 53248,\n                        \"meta_timestamp\": \"1613043958.01957\",\n                        \"node_index\": 2,\n                        \"object_count\": 8,\n                        \"path\": \"/srv/node2/sdb2/containers/83/72d/14c4dfcf017d810ab814cf302291c72d/14c4dfcf017d810ab814cf302291c72d_1613043945.62180.db\",\n                        \"root\": \"AUTH_test/container-75c18655-fa58-4190-9ff5-ffe22693f334\"\n                    }\n                ]\n            },\n            \"visited\": {\n                \"attempted\": 1,\n                \"completed\": 1,\n                \"failure\": 0,\n                \"skipped\": 0,\n                \"success\": 1\n            }\n        },\n        \"start\": 1613043957.625299,\n        \"success\": 5,\n        \"ts_repl\": 0\n    },\n    \"sharding_time\": 0.403670072555542\n}\nvagrant@saio:~/swift$ swift-manage-shard-ranges /srv/node2/sdb2/containers/83/72d/14c4dfcf017d810ab814cf302291c72d/14c4dfcf017d810ab814cf302291c72d_1613043945.62180.db compact\nLoaded db broker for AUTH_test/container-75c18655-fa58-4190-9ff5-ffe22693f334.\nShard ShardRange\u003c\u0027obj-0001\u0027 to \u0027obj-0003\u0027 as of 1613043945.62008, (2, 0) as of 1613043954.83035, active as of 1613043945.62008\u003e (object count 2) can expand to accept 2 objects from:\n    shard ShardRange\u003cMinBound to \u0027obj-0001\u0027 as of 1613043945.62008, (2, 0) as of 1613043954.71253, active as of 1613043945.62008\u003e (object count 2)\nShard ShardRange\u003c\u0027obj-0005\u0027 to MaxBound as of 1613043945.62008, (2, 0) as of 1613043957.90051, active as of 1613043945.62008\u003e (object count 2) can expand to accept 2 objects from:\n    shard ShardRange\u003c\u0027obj-0003\u0027 to \u0027obj-0005\u0027 as of 1613043945.62008, (2, 0) as of 1613043957.72516, active as of 1613043945.62008\u003e (object count 2)\nOnce applied to the broker these changes will result in shard range compaction the next time the sharder runs.\nDo you want to apply these changes? [y/N]y\nUpdated 2 shard sequences for compaction.\nRun container-replicator to replicate the changes to other nodes.\nRun container-sharder on all nodes to compact shards.\nvagrant@saio:~/swift$ ll /var/cache/swift/node2/container.recon \n-rw------- 1 vagrant vagrant 1705 Feb 11 11:45 /var/cache/swift/node2/container.recon\nvagrant@saio:~/swift$ swift-container-sharder /etc/swift/container-server/2.conf.d/ --no-auto-shard --once\nvagrant@saio:~/swift$ ll /var/cache/swift/node2/container.recon \n-rw------- 1 vagrant vagrant 1295 Feb 11 11:47 /var/cache/swift/node2/container.recon\nvagrant@saio:~/swift$ python -m json.tool \u003c/var/cache/swift/node2/container.recon \n{\n    \"replication_last\": 1613043951.664182,\n    \"replication_stats\": {\n        \"attempted\": 1,\n        \"deferred\": 2,\n        \"diff\": 0,\n        \"diff_capped\": 0,\n        \"empty\": 0,\n        \"failure\": 0,\n        \"hashmatch\": 0,\n        \"no_change\": 0,\n        \"remote_merge\": 0,\n        \"remove\": 0,\n        \"rsync\": 0,\n        \"start\": 1613043951.474921,\n        \"success\": 2,\n        \"ts_repl\": 0\n    },\n    \"replication_time\": 0.18926095962524414,\n    \"sharding_last\": 1613044066.559563,\n    \"sharding_stats\": {\n        \"attempted\": 0,\n        \"deferred\": 0,\n        \"diff\": 0,\n        \"diff_capped\": 0,\n        \"empty\": 0,\n        \"failure\": 0,\n        \"hashmatch\": 0,\n        \"no_change\": 0,\n        \"remote_merge\": 0,\n        \"remove\": 0,\n        \"rsync\": 0,\n        \"sharding\": {\n            \"audit_root\": {\n                \"attempted\": 1,\n                \"failure\": 0,\n                \"success\": 1\n            },\n            \"audit_shard\": {\n                \"attempted\": 3,\n                \"failure\": 0,\n                \"success\": 3\n            },\n            \"cleaved\": {\n                \"attempted\": 0,\n                \"failure\": 0,\n                \"max_time\": 0,\n                \"min_time\": 0,\n                \"success\": 0\n            },\n            \"created\": {\n                \"attempted\": 0,\n                \"failure\": 0,\n                \"success\": 0\n            },\n            \"misplaced\": {\n                \"attempted\": 4,\n                \"failure\": 0,\n                \"found\": 0,\n                \"placed\": 0,\n                \"success\": 4,\n                \"unplaced\": 0\n            },\n            \"scanned\": {\n                \"attempted\": 0,\n                \"failure\": 0,\n                \"found\": 0,\n                \"max_time\": 0,\n                \"min_time\": 0,\n                \"success\": 0\n            },\n            \"sharding_candidates\": {\n                \"found\": 0,\n                \"top\": []\n            },\n            \"shrinking_candidates\": {\n                \"found\": 0,\n                \"top\": []\n            },\n            \"visited\": {\n                \"attempted\": 4,\n                \"completed\": 0,\n                \"failure\": 0,\n                \"skipped\": 0,\n                \"success\": 4\n            }\n        },\n        \"start\": 1613044066.482169,\n        \"success\": 0,\n        \"ts_repl\": 0\n    },\n    \"sharding_time\": 0.07739400863647461\n}\nvagrant@saio:~/swift$ swift-manage-shard-ranges /srv/node2/sdb2/containers/83/72d/14c4dfcf017d810ab814cf302291c72d/14c4dfcf017d810ab814cf302291c72d_1613043945.62180.db compact\nLoaded db broker for AUTH_test/container-75c18655-fa58-4190-9ff5-ffe22693f334.\nNo shards identified for compaction.","accounts_in_message":[],"_revision_number":10},{"id":"3e6ab0e7cf7724c65564857ef0546f7884ee608a","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-12 03:39:42.000000000","message":"Patch Set 10:\n\n(3 comments)\n\nThanks Al! and sorry I opened that ible vs able can of worms.\n\nI\u0027ve gone and squished the other patch in, Nice work!","accounts_in_message":[],"_revision_number":10},{"id":"30d363efef19ebbbd19cfcbada6a0cf3c211f2bf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-12 03:40:19.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"82e8cbee342ef96685b9d726f96d25ee0bd77316","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-12 04:34:11.000000000","message":"Patch Set 11: 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/20e95fa948784807b063b867568b8c16 : SUCCESS in 8m 25s\n- grenade https://zuul.opendev.org/t/openstack/build/4d3b00e610df4785b7f2fc0cff516d95 : FAILURE in 12m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ca33185bc9e540379e2573e5e307836d : FAILURE in 15m 38s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7206bfb62b4f437783544ea46f4f8571 : SUCCESS in 10m 00s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/0968ff1d6b1a4756b33e404fb511636f : RETRY_LIMIT in 1m 38s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/552199593ffa4ba8a75d3af0446e7467 : SUCCESS in 14m 35s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/7026751a40934067bfefc37ad0e710e1 : SUCCESS in 13m 46s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/edba09867f2644c582acc951901c928b : SUCCESS in 16m 02s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/ec47d22545a540fc9516b0223a57fbfc : SUCCESS in 16m 01s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/34afd3af82b2403395b3f4e4c32eb51a : SUCCESS in 16m 10s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/0f1d2718a6f44ba48d99b73da3d9fbf1 : SUCCESS in 17m 57s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/b6e54da89cb34c3ca7a62711519813d0 : SUCCESS in 16m 21s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/43a8593e5f8b4b70be44ad02125b20da : SUCCESS in 17m 44s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/59fa10bba5fe4b03b52a4bb946862a97 : SUCCESS in 20m 24s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/d563f3bbe4204a6480ef07ae8affb147 : SUCCESS in 18m 27s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/0dde6ec1b9724b1c970e3d0b5b206f8d : FAILURE in 20m 58s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/60db492c7f2e41229da0c2c92fd1bbe6 : SUCCESS in 25m 06s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/12a7762e6282481790d0c854164f7e3f : SUCCESS in 46m 37s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/938add77e8c447998f54b8caec82b6a5 : SUCCESS in 50m 31s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/764314cf89ae44d3ba8707d095bd958d : RETRY_LIMIT in 3m 19s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b4500411eb184961982a08cbe32cdb7d : SUCCESS in 45m 33s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6027baea5e01426e989497b7a707e6d8 : SUCCESS in 14m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7929a39b5c0c4d5a9bdfd1cd9e95a191 : SUCCESS in 5m 24s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/1a2400811a7c4f77b858a29925a837d6 : FAILURE in 8m 16s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b99c6ad44d134bd297e1bc7a7c01f360 : FAILURE in 12m 44s","accounts_in_message":[],"_revision_number":11},{"id":"a22061810a9168751832790e93aec4a33ab35b2a","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-02-12 09:33:44.000000000","message":"Patch Set 11: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"ae989987ce6d768171078b29c0f0248f6a3d5f99","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-02-12 16:27:36.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"5eb986dfe9751f41451d83539ccdedace9e1bffd","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-02-12 18:15:08.000000000","message":"Patch Set 12: Code-Review+2","accounts_in_message":[],"_revision_number":12},{"id":"2013e46cafd4aee3d31483cc4a638b9f18478551","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-12 18:40:31.000000000","message":"Patch Set 12: 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/ed4777ebc2b94af8ac0664ab1ac91b8d : SUCCESS in 8m 01s\n- grenade https://zuul.opendev.org/t/openstack/build/63586c2daabe43818f7f520ed582df83 : SUCCESS in 1h 00m 55s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/d6866117f17a4e6cb382e6dc5afe26b7 : SUCCESS in 35m 46s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/fcdb083e10f44747859273da7f05ffea : SUCCESS in 9m 32s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/ed1911055ef64e838903855e83004038 : SUCCESS in 6m 04s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/6a963d0abe604fa8a04035762a6c4fa1 : SUCCESS in 14m 36s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/5cb10ed38f3347e3ae5c5d3c83bd8bb7 : SUCCESS in 16m 05s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/895c3c72e6f5457c81221c3cf947737b : SUCCESS in 13m 14s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/38af20aac72c420eb7fbf90d9d38d862 : SUCCESS in 16m 03s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/298edbc1e3604eb283f16d85514ed169 : SUCCESS in 15m 39s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/0a4f600b77a9463b8ae88d279c6ed076 : SUCCESS in 16m 10s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/4baec66650fb413880635dacf3545c37 : SUCCESS in 16m 53s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/467f7ac40b6243f798b52ff6cdca0c68 : SUCCESS in 17m 09s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/336a936d185b4b0899f9110ef2fb9ee1 : FAILURE in 27m 07s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/f0bb8f2d96f848ccb9b41f50022c3001 : SUCCESS in 21m 47s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/fd235a9b89e04784a9dbd30d1db3e88a : SUCCESS in 18m 43s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/1bb859552e2048cc9c2adfbc9189e09a : SUCCESS in 18m 29s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/77c25140fe224259bd393dd783b721b1 : SUCCESS in 53m 09s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/4bd19142da174441bafbf794a1cfd3fe : SUCCESS in 44m 50s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5120e56742c24d998b6d3b1989a8b0ab : SUCCESS in 33m 52s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/374232744635423d95f7e4026cc3dfa4 : SUCCESS in 35m 13s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/07d94e3903db452bb57733dff9c9b294 : SUCCESS in 13m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f982159cde32485caa80db460d076f6c : SUCCESS in 6m 03s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/102b930e29f04259a11223f97ca63c99 : FAILURE in 8m 37s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0f7fabc67ba7471f8b40a93f62d8b197 : SUCCESS in 57m 25s","accounts_in_message":[],"_revision_number":12},{"id":"237d5db1d053a648d7054df73aada2bbd2fd22f1","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-16 05:35:46.000000000","message":"Patch Set 12:\n\nrecheck","accounts_in_message":[],"_revision_number":12},{"id":"e0bf8dc80a290938314e5c7dbea16a2a34ed515b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-16 06:53:37.000000000","message":"Patch Set 12:\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/8949b3b3d78e405dade5d5b9a525fc4f : SUCCESS in 10m 09s\n- grenade https://zuul.opendev.org/t/openstack/build/923ca3d190294ae1b2c3a830400d9aab : SUCCESS in 1h 14m 15s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f3f7cbe472cb4e8786000db8acca11ee : SUCCESS in 48m 14s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1e723d657138407799825f4a1c95c7dc : SUCCESS in 9m 28s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/a3c2d0b272cc4a4994f55b590799616c : SUCCESS in 5m 52s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/873b94d48df2484da9ccdd59d08f5a78 : SUCCESS in 27m 03s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/54068757f447493dad822dc7dedf517e : SUCCESS in 26m 54s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/3da5f31c30b84eda8ccdf192c47e7648 : SUCCESS in 21m 50s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/894253261b47499da68b88cc38975fda : SUCCESS in 26m 05s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/6bf1c1a629684b92b32c4e19e39df446 : SUCCESS in 13m 19s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/d6759149f4a545af9133e373ea84e511 : SUCCESS in 17m 20s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/ad8add50e5924f07987fa11a997f932b : SUCCESS in 16m 39s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/74ae46a8d80e4df28f99ae6013c595e7 : SUCCESS in 16m 11s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/86031730091744f58c4d5cf3caf9c9b0 : FAILURE in 31m 55s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/61a61ee5912041e29e85ac06f40bf706 : SUCCESS in 25m 53s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/100f53893ad74ee3beb331fd1d62d0bd : SUCCESS in 17m 35s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/11babb4303c74788abecb9c79227dc77 : FAILURE in 30m 32s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/ebe60d7593e441a2b101bf9922f85b54 : SUCCESS in 52m 26s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/460c17a031ef4528b592fcc5d5c9b540 : SUCCESS in 1h 09m 20s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7bc142d313944f55b2bca75033b95c09 : SUCCESS in 40m 41s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7741dc76631e47bfaeb9af4c3b87cc9f : SUCCESS in 36m 58s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2a34a05cb9d8432aa996c4e5405078d8 : SUCCESS in 14m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ac2ee6c6024c43bda28f31b9fd86f9a3 : SUCCESS in 5m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b9df523ae1e54c05a77650eec0b75db1 : FAILURE in 8m 52s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/282ca55eb2064f0d82eb85834ec94c3a : SUCCESS in 52m 00s","accounts_in_message":[],"_revision_number":12},{"id":"73526b98e02c0271d74b4513fb25ac7551ac7f35","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-02-22 03:51:28.000000000","message":"Patch Set 12:\n\nrecheck","accounts_in_message":[],"_revision_number":12},{"id":"92b69e83c97af56b5bb2e866165e740da5bfa05f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-22 04:56:42.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ce5371755d674a6dae3bc80e4490492c : SUCCESS in 8m 52s\n- grenade https://zuul.opendev.org/t/openstack/build/0b42e7f7b7ea42d6a891045ed802973f : SUCCESS in 1h 00m 29s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7af3002b5c6d431ea569a620a44958c5 : SUCCESS in 36m 51s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a090e365022d43fa845e3323d3653bb0 : SUCCESS in 8m 42s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/bd64159ddfaa4d4dbcd0412e1e291afe : SUCCESS in 5m 47s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/91689389ca3d4af68fdcdd4f42a1d30c : SUCCESS in 15m 40s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/ae2bd9bd5d384a9da6cbb1304c855bb3 : SUCCESS in 13m 15s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/4bcf5710e2914ebb989d46c6cbf02eee : SUCCESS in 16m 48s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/ab6e5c188a984947a0e4386e4b4ff7c5 : SUCCESS in 22m 51s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/7ef42c7ab61e455a97d1dc30d1cbbcc5 : SUCCESS in 23m 14s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/b414cf4f588c47d894b99bf13a9e9656 : SUCCESS in 18m 27s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/bd40685916294c6b9855f6cf0431a847 : SUCCESS in 16m 47s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/3d5d1d94a4ed43e0992039604ee62f85 : SUCCESS in 16m 58s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/75ae004f1199493793966770312fe94a : SUCCESS in 21m 36s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/4ff3259759964aef83dd4b7bf6cca795 : SUCCESS in 16m 54s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/5d2939a48f2546b19c6712a37cd8f328 : SUCCESS in 17m 14s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/4e7a1cf9aeae418fbd11b571d6355749 : FAILURE in 48m 23s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/5537327340ec47bab11fd908afb506b9 : SUCCESS in 50m 01s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/17645f9c6a404133a061c072a72ca336 : SUCCESS in 45m 18s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9f189788e5104a33bdc601634d2c3919 : SUCCESS in 30m 31s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5b098433398941bfa3623291cbea8942 : SUCCESS in 51m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6d4ddaf7a3664aa2a638ef013fab670d : SUCCESS in 13m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5a9e98a5eee64f77855c40aac82d6b56 : SUCCESS in 6m 27s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/714eb39037a947ab91f71056a8e56aef : FAILURE in 10m 01s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8bc11b18a3f64e5da7a1bf385bbcc9bc : SUCCESS in 1h 02m 44s","accounts_in_message":[],"_revision_number":12},{"id":"f1950557aff6893bb038184823bef1126eb2fd08","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-02-22 22:12:31.000000000","message":"Patch Set 12: Workflow+1","accounts_in_message":[],"_revision_number":12},{"id":"7d3bfdd763ab13e6b885ed6217a2b984b818c3c1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-22 22:12:56.000000000","message":"Patch Set 12: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":12},{"id":"03064f597c8c5e687b589dfcd1182e92f24b9e40","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-22 23:35:12.000000000","message":"Patch Set 12: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/71790486c7b74bb9a0cc5ce39881d16b : SUCCESS in 9m 26s\n- grenade https://zuul.opendev.org/t/openstack/build/dc5d7b8b09204405b7646cd0a272a497 : SUCCESS in 1h 01m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/382d67b3677348b6adbda27be2e401da : SUCCESS in 43m 02s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/f6ca5c94e5974798b9a57e388690e4e8 : SUCCESS in 10m 39s (non-voting)\n- swift-upload-image-py3 https://zuul.opendev.org/t/openstack/build/f1a5eda7ecb447c9a6100855b7ba95a2 : SUCCESS in 7m 15s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/82c240de7a3f4c7587838d6e195ecc4f : SUCCESS in 17m 39s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/6ad4e410f8f742559ad113904dd95c5a : SUCCESS in 15m 13s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e73ef0f9208b402e8d5c6e6eba251383 : SUCCESS in 15m 19s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/e167c4dd61114634926b5dfc1a60e618 : SUCCESS in 15m 34s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/6d0a8ede870a47abba836dfc2e03c9dc : SUCCESS in 14m 11s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/847309f2b0ad459784855f107d3f8657 : SUCCESS in 16m 36s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/2d9cac35983843b5ad50bc5d339ff96e : SUCCESS in 17m 52s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/842c7ec1857945bf80492353dceeb8d0 : SUCCESS in 17m 53s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/c70bf288f162490b8ce0a9e5afb9a166 : SUCCESS in 17m 58s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/9b928847931240ff93af3ada07b442c8 : SUCCESS in 18m 51s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/34afe97f28bd4dfeba00d1e8a3f197a9 : SUCCESS in 18m 39s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/012364f4683a428c842fdd307fae74b8 : SUCCESS in 50m 01s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/bdb21f4e9d3e4a1db9928d2704362359 : SUCCESS in 48m 05s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/3407f36ae63f4a40b4c4e846fc8c73be : SUCCESS in 37m 33s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/01813910671d40b7897adc715aee71b2 : SUCCESS in 41m 17s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/cc561cbde1de4c75a450cbf5fccdf25e : SUCCESS in 15m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/aeecacb66f8c49f099a4e89452624840 : SUCCESS in 5m 38s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/fd037d6768cf418b8c08eb267e5929d3 : SUCCESS in 57m 23s","accounts_in_message":[],"_revision_number":12},{"id":"5867a88a5ce41809e130d7766fd9490daa2e0a43","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-22 23:35:14.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":12},{"id":"d8254d36fba73d4fd1055ce6f24e5398cd737ad1","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-22 23:37:43.000000000","message":"Patch Set 12:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3a987d2c22f34d04ba58a8d16d1f3663 : SUCCESS in 1m 04s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/809b8edb09bd4762b7526a8b77b082a7 : SUCCESS in 45s (non-voting)\n- swift-promote-image-py3 https://zuul.opendev.org/t/openstack/build/8c1b23dc8db64d76b4091a8b1e9f03c8 : SUCCESS in 47s (non-voting)","accounts_in_message":[],"_revision_number":12}],"current_revision_number":12,"current_revision":"13b17af45e1faa701b9a14686b0c6726e6112ee6","revisions":{"2ec99a54534a228d256fddcf12eee2444ad86bd4":{"kind":"REWORK","_number":1,"created":"2021-01-27 05:11:54.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/1"}}},"commit":{"parents":[{"commit":"d07de5c7f7c6bc8921a5c640085f854ec6e05ae9","subject":"Merge \"memcache: Log errors encountered when setting keys\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d07de5c7f7c6bc8921a5c640085f854ec6e05ae9"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-27 04:30:01.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-27 05:11:32.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis first version just mirrors sharding candidate recon dumping with\nshrinking candidates, obviously not reversing the object listing order.\n\nHowever shrinking is a different beast to sharding. Even with the\nmange-shard-ranges tool. In shrinking we want to go to the container\nroot or shard that is big enough and use the tool on it.\nShrinking however isn\u0027t like that, it should _always_ be initiated from\nthe root container.\n\nSo listing root containers that have shards to shrink I think would be\nmore useful. Further, obj count is important, but I wonder if the number\nof shards that can be shrunk in a root container is a better metric to\nsort by? That way we get more bang for buck out of the tool.\nThis will be my next approach.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2ec99a54534a228d256fddcf12eee2444ad86bd4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2ec99a54534a228d256fddcf12eee2444ad86bd4"}]},"branch":"refs/heads/master"},"a6fcfaa87eaa8828c15aa2ec113df6f1820e0fef":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2021-01-27 05:16:57.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/2"}}},"commit":{"parents":[{"commit":"d07de5c7f7c6bc8921a5c640085f854ec6e05ae9","subject":"Merge \"memcache: Log errors encountered when setting keys\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d07de5c7f7c6bc8921a5c640085f854ec6e05ae9"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-27 04:30:01.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-27 05:16:14.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis first version just mirrors sharding candidate recon dumping with\nshrinking candidates, obviously not reversing the object listing order.\n\nHowever shrinking is a different beast to sharding. Even with the\nmange-shard-ranges tool. In sharding we want to go to the container\nroot or shard that is big enough and use the tool on it.\nShrinking however isn\u0027t like that, it should _always_ be initiated from\nthe root container.\n\nSo listing root containers that have shards to shrink I think would be\nmore useful. Further, obj count is important, but I wonder if the number\nof shards that can be shrunk in a root container is a better metric to\nsort by? That way we get more bang for buck out of the tool.\nThis will be my next approach.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a6fcfaa87eaa8828c15aa2ec113df6f1820e0fef"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a6fcfaa87eaa8828c15aa2ec113df6f1820e0fef"}]},"branch":"refs/heads/master"},"6fbd0c5a72e2da3aed9967283f3ac3e3a1157742":{"kind":"REWORK","_number":3,"created":"2021-01-28 07:28:57.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/3"}}},"commit":{"parents":[{"commit":"923323f47766de235d4889710686bb344bfc0d0f","subject":"Merge \"Do not reclaim sharded roots until they shrink\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/923323f47766de235d4889710686bb344bfc0d0f"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis is a new version of the shrinking recon dump. This time the\nshrinking_candidates will always SHARDED root containers. And get added\nto the candidate list if they have any ranges under the shrink\nthreshold.\n\nJust having and sorting on the number of shardable ranges isn\u0027t quite enough,\nbecause a shard can only SHRINK into it\u0027s upper neighbour if there\ncombined object count is \u003c the merge_size. As such we are also grabbing\nthe shrinkable_pairs, which in essence is the outcome of\nfind_shrinking_candidates. This currently returns the a set of\ndonor, acceptor pairs. Meaning it\u0027s the number of ranges that can be\nmerged in one go.\n\nThe shrining_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027shrinkable_ranges\u0027: 2,\n\t    \u0027shrinkable_pairs\u0027: 2\n\t}]\n }\n\nOnce the collapse code is merged, this could change. Al had the\nsuggestion of maybe even storing the output of the collapse.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6fbd0c5a72e2da3aed9967283f3ac3e3a1157742"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6fbd0c5a72e2da3aed9967283f3ac3e3a1157742"}]},"branch":"refs/heads/master"},"234559a3718b9defb0de1fd7af6c2bb9aab5ffeb":{"kind":"NO_CODE_CHANGE","_number":4,"created":"2021-01-28 07:33:29.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/4"}}},"commit":{"parents":[{"commit":"923323f47766de235d4889710686bb344bfc0d0f","subject":"Merge \"Do not reclaim sharded roots until they shrink\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/923323f47766de235d4889710686bb344bfc0d0f"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:30:43.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis is a new version of the shrinking recon dump. This time the\nshrinking_candidates will always be SHARDED root containers. And\nget added to the candidate list if they have any ranges under the\nshrink threshold.\n\nJust having and sorting on the number of shardable ranges isn\u0027t quite\nenough, as shard can only SHRINK into it\u0027s upper neighbour if their\ncombined object count is \u003c the merge_size. As such we are also grabbing\nthe shrinkable_pairs. Which is basically the length of the output of\nfind_shrinking_candidates. This currently returns a set of donor/acceptor\npairs. Meaning it\u0027s the number of ranges that can be merged in one go.\n\nThe shrinking_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027shrinkable_ranges\u0027: 2,\n\t    \u0027shrinkable_pairs\u0027: 2\n\t}]\n }\n\nOnce the collapse code is merged, this could change. Al had the\nsuggestion of maybe even storing the output of the collapse.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/234559a3718b9defb0de1fd7af6c2bb9aab5ffeb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/234559a3718b9defb0de1fd7af6c2bb9aab5ffeb"}]},"branch":"refs/heads/master"},"b9337030f2734005fbdbe8daa260b71b973dbc9c":{"kind":"REWORK","_number":5,"created":"2021-02-08 03:06:14.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/5"}}},"commit":{"parents":[{"commit":"12bb4839f02cdf32170a85438973fd93da4c1140","subject":"swift-manage-shard-ranges: add \u0027compact\u0027 command","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/12bb4839f02cdf32170a85438973fd93da4c1140"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-02-08 02:53:49.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis is a new version of the shrinking recon dump. This time the\nshrinking_candidates will always be SHARDED root containers. And\nget added to the candidate list if they have any ranges under the\nshrink threshold.\n\nJust having and sorting on the number of shrinkable ranges isn\u0027t quite\nenough, as shard can only SHRINK into it\u0027s upper neighbour if their\ncombined object count is \u003c the merge_size. As such we are also grabbing\n2 more values. The total amount of ranges (donors) that can be shrunk in\nthe root container (total_shrinkable_donors), ie those of the shrinkable\nranges that actually have acceptors that can take their objects. And now\nmany of those donors can be shrunk at once.\nAs we only shrink 1:1 donor to acceptor pairs at once, the number of\nthe shrinkable donors could be less the total_shrinkable_donors. Meaning\nit could take more then one command to completely finish shrinking or\nshrinkable donors in a root container.\n\nThe shrinking_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027total_shrinkable_ranges\u0027: 4,\n\t    \u0027total_shrinkable_donors\u0027: 3,\n\t    \u0027shrinkable_donors\u0027: 2\n\t}]\n }\n\nIn this case:\n - total_shrinkable_ranges: is the total number of ranges \u003c\n   shrink_threshold.\n - total_shrinkable_donors: is the total number of ranges that can be\n   shrunk.\n - shrinkable_donors: is the number of donors that can be shrunk in a\n   single command.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b9337030f2734005fbdbe8daa260b71b973dbc9c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b9337030f2734005fbdbe8daa260b71b973dbc9c"}]},"branch":"refs/heads/master"},"34c7af26a0aba55e6e4c561b725319dd97673e4e":{"kind":"REWORK","_number":6,"created":"2021-02-09 05:46:12.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/6"}}},"commit":{"parents":[{"commit":"48ce7f6eed231d324c7efc80878fb175b7da008b","subject":"Add a config file option to swift-manage-shard-ranges","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/48ce7f6eed231d324c7efc80878fb175b7da008b"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-02-09 05:44:12.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis is a new version of the shrinking recon dump. This time the\nshrinking_candidates will always be SHARDED root containers. And\nget added to the candidate list if they have any ranges under the\nshrink threshold.\n\nJust having and sorting on the number of shrinkable ranges isn\u0027t quite\nenough, as shard can only SHRINK into it\u0027s upper neighbour if their\ncombined object count is \u003c the merge_size. As such we are also grabbing\n2 more values. The total amount of ranges (donors) that can be shrunk in\nthe root container (total_shrinkable_donors), ie those of the shrinkable\nranges that actually have acceptors that can take their objects. And now\nmany of those donors can be shrunk at once.\nAs we only shrink 1:1 donor to acceptor pairs at once, the number of\nthe shrinkable donors could be less the total_shrinkable_donors. Meaning\nit could take more then one command to completely finish shrinking or\nshrinkable donors in a root container.\n\nThe shrinking_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027total_shrinkable_ranges\u0027: 4,\n\t    \u0027actionable_ranges\u0027: 2\n\t}]\n }\n\nIn this case:\n - total_shrinkable_ranges: is the total number of ranges that can be\n   shrunk.\n - actionable_ranges: is the number of donors that can be shrunk in a\n   single command.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/34c7af26a0aba55e6e4c561b725319dd97673e4e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/34c7af26a0aba55e6e4c561b725319dd97673e4e"}]},"branch":"refs/heads/master"},"12d2dae890d2b9e9265e84e93004ed2b6f1d60ef":{"kind":"NO_CODE_CHANGE","_number":7,"created":"2021-02-09 05:53:01.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/7"}}},"commit":{"parents":[{"commit":"48ce7f6eed231d324c7efc80878fb175b7da008b","subject":"Add a config file option to swift-manage-shard-ranges","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/48ce7f6eed231d324c7efc80878fb175b7da008b"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-02-09 05:48:19.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis is a new version of the shrinking recon dump. This time the\nshrinking_candidates will always be SHARDED root containers. And\nget added to the candidate list if they have any ranges under the\nshrink threshold.\n\nWe are collecting and sorting on 2 different numbers, firstly the number\nshards that are eligible donors and second, the number of shards that\ncan be actioned in one command.\n\nTo get the second value we use the options as they are configured (or\ndefaulted to) in the container-sharder config. The s-m-s-r tool has also\ngrown a config option so it can use the same configured options\nconnecting the output stats to the expected output of the tool.\n\nThe shrinking_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027total_shrinkable_ranges\u0027: 4,\n\t    \u0027actionable_ranges\u0027: 2\n\t}]\n }\n\nIn this case:\n - total_shrinkable_ranges: is the total number of ranges that can be\n   shrunk.\n - actionable_ranges: is the number of donors that can be shrunk in a\n   single command.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/12d2dae890d2b9e9265e84e93004ed2b6f1d60ef"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/12d2dae890d2b9e9265e84e93004ed2b6f1d60ef"}]},"branch":"refs/heads/master"},"44295adc2ce8c123fde59c90f716007159caa0c6":{"kind":"REWORK","_number":8,"created":"2021-02-10 01:15:18.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/8"}}},"commit":{"parents":[{"commit":"ce63835d674de353f34ad8fe431a58a65f312560","subject":"sharder: Ignore already shrinking sequence when compacting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ce63835d674de353f34ad8fe431a58a65f312560"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-02-10 00:53:17.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis is a new version of the shrinking recon dump. This time the\nshrinking_candidates will always be SHARDED root containers. And\nget added to the candidate list if they have any ranges under the\nshrink threshold.\n\nWe are collecting and sorting on 2 different numbers, firstly the number\nshards that are eligible donors and second, the number of shards that\ncan be actioned in one command.\n\nTo get the second value we use the options as they are configured (or\ndefaulted to) in the container-sharder config. The s-m-s-r tool has also\ngrown a config option so it can use the same configured options\nconnecting the output stats to the expected output of the tool.\n\nThe shrinking_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027total_shrinkable_ranges\u0027: 4,\n\t    \u0027actionable_ranges\u0027: 2\n\t}]\n }\n\nIn this case:\n - total_shrinkable_ranges: is the total number of ranges that can be\n   shrunk.\n - actionable_ranges: is the number of donors that can be shrunk in a\n   single command.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/44295adc2ce8c123fde59c90f716007159caa0c6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/44295adc2ce8c123fde59c90f716007159caa0c6"}]},"branch":"refs/heads/master"},"784cffa86a7534ab0f8e5fe95f84a0ae122a308c":{"kind":"REWORK","_number":9,"created":"2021-02-11 01:02:13.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/9"}}},"commit":{"parents":[{"commit":"e51efc7127c19b3360e91299150c8b4d87e998eb","subject":"sharder: Ignore already shrinking sequence when compacting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e51efc7127c19b3360e91299150c8b4d87e998eb"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-02-11 00:49:57.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis is a new version of the shrinking recon dump. This time the\nshrinking_candidates will always be SHARDED root containers. And\nget added to the candidate list if they have any ranges under the\nshrink threshold.\n\nWe are collecting and sorting on 2 different numbers, firstly the number\nshards that are eligible donors and second, the number of shards that\ncan be actioned in one command.\n\nTo get the second value we use the options as they are configured (or\ndefaulted to) in the container-sharder config. The s-m-s-r tool has also\ngrown a config option so it can use the same configured options\nconnecting the output stats to the expected output of the tool.\n\nThe shrinking_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027total_shrinkable_ranges\u0027: 4,\n\t    \u0027actionable_ranges\u0027: 2\n\t}]\n }\n\nIn this case:\n - total_shrinkable_ranges: is the total number of ranges that can be\n   shrunk.\n - actionable_ranges: is the number of donors that can be shrunk in a\n   single command.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/784cffa86a7534ab0f8e5fe95f84a0ae122a308c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/784cffa86a7534ab0f8e5fe95f84a0ae122a308c"}]},"branch":"refs/heads/master"},"23c100db8323fc966e95d2a88b8891be26a71c48":{"kind":"REWORK","_number":10,"created":"2021-02-11 02:57:36.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/10"}}},"commit":{"parents":[{"commit":"e51efc7127c19b3360e91299150c8b4d87e998eb","subject":"sharder: Ignore already shrinking sequence when compacting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e51efc7127c19b3360e91299150c8b4d87e998eb"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-02-11 02:41:44.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis is a new version of the shrinking recon dump. This time the\nshrinking_candidates will always be SHARDED root containers. And\nget added to the candidate list if they have any ranges that are\ncompactible, that is to say they have ranges that can be compacted into\nan upper neighbour.\n\nThe shrinking_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027compactible_ranges\u0027: 2\n\t}]\n }\n\nIn this case \u0027compactible_ranges\u0027 is the number of donors that can be shrunk\nin a single command.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/23c100db8323fc966e95d2a88b8891be26a71c48"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/23c100db8323fc966e95d2a88b8891be26a71c48"}]},"branch":"refs/heads/master"},"ec5276e81bf1c2c008557c6aab2315921260981e":{"kind":"REWORK","_number":11,"created":"2021-02-12 03:40:19.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/24/772624/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/11"}}},"commit":{"parents":[{"commit":"e51efc7127c19b3360e91299150c8b4d87e998eb","subject":"sharder: Ignore already shrinking sequence when compacting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e51efc7127c19b3360e91299150c8b4d87e998eb"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-02-12 03:36:22.000000000","tz":660},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis  patch adds shrinking candidates to the sharding recon dump\nshrinking candidates will always be SHARDED root containers. And\nget added to the candidate list if they have any ranges that are\ncompactible, that is to say they have ranges that can be compacted into\nan upper neighbour.\n\nThe shrinking_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027compactible_ranges\u0027: 2\n\t}]\n }\n\nIn this case \u0027compactible_ranges\u0027 is the number of donors that can be shrunk\nin a single command.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ec5276e81bf1c2c008557c6aab2315921260981e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ec5276e81bf1c2c008557c6aab2315921260981e"}]},"branch":"refs/heads/master"},"13b17af45e1faa701b9a14686b0c6726e6112ee6":{"kind":"REWORK","_number":12,"created":"2021-02-12 16:27:36.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/24/772624/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/24/772624/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/24/772624/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/24/772624/12"}}},"commit":{"parents":[{"commit":"e8df26a2b574913a074ecdd09505b0fc53abae1f","subject":"sharder: Ignore already shrinking sequence when compacting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e8df26a2b574913a074ecdd09505b0fc53abae1f"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-01-28 07:16:08.000000000","tz":660},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-02-12 16:26:41.000000000","tz":-480},"subject":"Add shrink candidates to recon dump","message":"Add shrink candidates to recon dump\n\nThis  patch adds shrinking candidates to the sharding recon dump\nshrinking candidates will always be SHARDED root containers. And\nget added to the candidate list if they have any ranges that are\ncompactible, that is to say they have ranges that can be compacted into\nan upper neighbour.\n\nThe shrinking_candidates data comes out something like:\n\n {\n    \u0027found\u0027: 1,\n    \u0027top\u0027: [\n\t{\n\t    \u0027object_count\u0027: \u003csome number\u003e,\n\t    \u0027account\u0027: \u0027a\u0027,\n\t    \u0027meta_timestamp\u0027: \u003cts1\u003e,\n\t    \u0027container\u0027: \u0027c\u0027,\n\t    \u0027file_size\u0027: \u003csomething\u003e,\n\t    \u0027path\u0027: \u003csomething\u003e,\n\t    \u0027root\u0027: \u003csomething\u003e,\n\t    \u0027node_index\u0027: 0,\n\t    \u0027compactible_ranges\u0027: 2\n\t}]\n }\n\nIn this case \u0027compactible_ranges\u0027 is the number of donors that can be shrunk\nin a single command.\n\nChange-Id: I63fc9ae39e164c2ce82865d055527b52c86b5b2a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/13b17af45e1faa701b9a14686b0c6726e6112ee6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/13b17af45e1faa701b9a14686b0c6726e6112ee6"}]},"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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}]}],"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":{}}}]}
