)]}'
{"id":"openstack%2Fswift~675820","triplet_id":"openstack%2Fswift~master~Id338f6c3187f93454bcdf025a32a073284a4a159","project":"openstack/swift","branch":"master","topic":"bug/1839355","hashtags":[],"change_id":"Id338f6c3187f93454bcdf025a32a073284a4a159","subject":"sharder: Keep cleaving on empty shard ranges","status":"MERGED","created":"2019-08-12 06:34:03.000000000","updated":"2019-09-27 01:43:29.000000000","submitted":"2019-09-27 01:42:09.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":19,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"675820-1569548529486-b42f53c0","meta_rev_id":"0869c66e129e11d115ef585d8a0c4ca265a0e51e","_number":675820,"virtual_id_number":675820,"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":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2019-09-27 01:42:09.000000000","post_submit":true,"permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2019-09-26 23:27:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2019-09-26 23:27:09.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_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":"2019-08-21 16:43:53.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2019-09-26 19:41:27.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":"2019-09-26 23:27:09.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"},{"updated":"2019-09-27 01:42:09.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"9c922bee4109d3760909b23b8462570eab2e61f6","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-08-12 06:34:03.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b992cfdad471122906c2e494d3ff933120e58239","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-12 08:02:09.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://logs.opendev.org/20/675820/1/check/openstack-tox-docs/0d29d68/html/ : SUCCESS in 5m 33s\n- grenade-py3 https://logs.opendev.org/20/675820/1/check/grenade-py3/ded30d2/ : SUCCESS in 1h 01m 11s\n- tempest-integrated-object-storage https://logs.opendev.org/20/675820/1/check/tempest-integrated-object-storage/d987ba0/ : SUCCESS in 46m 45s\n- swift-build-image https://logs.opendev.org/20/675820/1/check/swift-build-image/f1a1a8c/ : SUCCESS in 8m 27s (non-voting)\n- swift-tox-py27 https://logs.opendev.org/20/675820/1/check/swift-tox-py27/5fae960/ : SUCCESS in 13m 47s\n- swift-tox-py36 https://logs.opendev.org/20/675820/1/check/swift-tox-py36/ed0c473/ : SUCCESS in 13m 22s\n- swift-tox-py37 https://logs.opendev.org/20/675820/1/check/swift-tox-py37/fa2dfd2/ : SUCCESS in 11m 14s\n- swift-tox-func https://logs.opendev.org/20/675820/1/check/swift-tox-func/3738ae5/ : SUCCESS in 8m 52s\n- swift-tox-func-encryption https://logs.opendev.org/20/675820/1/check/swift-tox-func-encryption/ae21693/ : SUCCESS in 9m 45s\n- swift-tox-func-domain-remap-staticweb https://logs.opendev.org/20/675820/1/check/swift-tox-func-domain-remap-staticweb/e02878e/ : SUCCESS in 9m 27s\n- swift-tox-func-ec https://logs.opendev.org/20/675820/1/check/swift-tox-func-ec/ccf9599/ : SUCCESS in 13m 13s\n- swift-tox-func-s3api https://logs.opendev.org/20/675820/1/check/swift-tox-func-s3api/845bc7a/ : SUCCESS in 11m 29s\n- swift-tox-func-py37 https://logs.opendev.org/20/675820/1/check/swift-tox-func-py37/d5306a0/ : SUCCESS in 9m 59s\n- swift-tox-func-encryption-py37 https://logs.opendev.org/20/675820/1/check/swift-tox-func-encryption-py37/83ef94e/ : SUCCESS in 10m 10s\n- swift-tox-func-domain-remap-staticweb-py37 https://logs.opendev.org/20/675820/1/check/swift-tox-func-domain-remap-staticweb-py37/615b300/ : SUCCESS in 9m 39s\n- swift-tox-func-ec-py37 https://logs.opendev.org/20/675820/1/check/swift-tox-func-ec-py37/bb4e6a4/ : SUCCESS in 11m 53s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://logs.opendev.org/20/675820/1/check/swift-tox-func-s3api-ceph-s3tests-tempauth/d2e60ff/ : SUCCESS in 13m 59s (non-voting)\n- swift-probetests-centos-7 https://logs.opendev.org/20/675820/1/check/swift-probetests-centos-7/5bbd4f1/ : SUCCESS in 32m 47s\n- swift-dsvm-functional https://logs.opendev.org/20/675820/1/check/swift-dsvm-functional/5f54de6/ : SUCCESS in 28m 42s\n- swift-dsvm-functional-py3 https://logs.opendev.org/20/675820/1/check/swift-dsvm-functional-py3/dead266/ : SUCCESS in 31m 53s\n- swift-dsvm-functional-ipv6 https://logs.opendev.org/20/675820/1/check/swift-dsvm-functional-ipv6/5dc3a1a/ : SUCCESS in 32m 59s\n- swift-tox-lower-constraints https://logs.opendev.org/20/675820/1/check/swift-tox-lower-constraints/8f2cefd/ : SUCCESS in 13m 40s\n- openstack-tox-pep8 https://logs.opendev.org/20/675820/1/check/openstack-tox-pep8/0b2fb5b/ : SUCCESS in 5m 43s\n- swift-multinode-rolling-upgrade https://logs.opendev.org/20/675820/1/check/swift-multinode-rolling-upgrade/3a0011c/ : SUCCESS in 17m 04s","accounts_in_message":[],"_revision_number":1},{"id":"dcc2c581689d36a9a2e12de85fd409a7e19dce20","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-17 00:29:27.000000000","message":"Patch Set 1:\n\n(4 comments)\n\nThanks for getting a patch up for this so quickly! I really like the approach; seems like a good balance between making sure that we really do cleave off any rows that may exist, but we still make much faster progress through the DB.\n\nJust a couple questions for now, I\u0027ll try to test it out manually a bit next week.","accounts_in_message":[],"_revision_number":1},{"id":"c80a2742953d9d0fa9e38ccf9b0f6a491be618f7","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-08-19 00:24:27.000000000","message":"Patch Set 1:\n\n(3 comments)\n\nThanks Tim.\n\nWill look into your comments :)","accounts_in_message":[],"_revision_number":1},{"id":"220b4aa4e967e2a2b2683b027ddff57f7910ca5d","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-08-20 07:05:49.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"6cdf8007814dd72cd3db4d01896a50d77ddba30e","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-20 08:32:29.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/88da0282e3024678ae016352a649034f : SUCCESS in 5m 00s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/d87a35a296c248f4a70ff8537e94d206 : SUCCESS in 1h 14m 43s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a3fa9261a44046a1a311ba320579f2f9 : SUCCESS in 46m 41s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/bf7cd5e7bb21490fa90b4857e489a120 : SUCCESS in 8m 22s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/4ce06f884bd04084a03d21e2e0becb83 : SUCCESS in 11m 17s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/10712aafeb2d4d4e92d43d0800b6e263 : SUCCESS in 14m 02s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/05d4095a653540cd879e33b873c6f1e4 : SUCCESS in 14m 22s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/85298870643c4a8880845b7b40e21d87 : SUCCESS in 12m 31s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/9b527bf3c47f410f9acdfa7461f1df8d : SUCCESS in 10m 28s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/e7f17ccb5a4d4a07a3a6a99a8e19974b : SUCCESS in 12m 00s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/50e2a9e083aa4bcfb1bc02df45727775 : SUCCESS in 12m 55s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/2bd567e1bcca444a84e4676aa9acb229 : FAILURE in 15m 32s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/158c328464b842be8df65dba23d16bc3 : SUCCESS in 14m 15s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/711c21fa0e9145bcb29039e51817e04c : SUCCESS in 11m 37s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/e4b2dd9c4f5742778ca311c7edaa07ce : SUCCESS in 10m 34s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/9cac9cdd5d3346bf9f7cd5733541619d : SUCCESS in 13m 12s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/f823c1d391c447d18284031b32e2815e : SUCCESS in 12m 17s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/bbc438aff6f34a8d89c154a47b35a2b7 : SUCCESS in 14m 38s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/920dea6906474a0094b35960778fbdcf : SUCCESS in 33m 09s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/062789593a7b40c0a59f840f9ad64396 : SUCCESS in 28m 56s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/b6d624a239cc4f348fefbd0a7ad2c5c9 : SUCCESS in 28m 44s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/c25a4e875b6a4f8caa597a842b88030e : SUCCESS in 26m 54s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/cb8a9600a32a4450af01e2234fc8d0b7 : SUCCESS in 12m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f92700d93c57467480adfc738026951f : SUCCESS in 6m 37s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/d8f78cd2f4f14ce891812a14362a4ccd : SUCCESS in 19m 09s","accounts_in_message":[],"_revision_number":2},{"id":"d66c5cbf457f0b42e52748b2cfea1da4da03f2cf","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-21 05:31:40.000000000","message":"Patch Set 2:\n\n(2 comments)\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"ed8d67ada98df252b0f26a1784ad0aa8e07eced4","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-21 15:38:05.000000000","message":"Patch Set 2:\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"764b1b500feef388ade88c04c6d8b46489ae1f4b","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-21 16:43:53.000000000","message":"Patch Set 2:\n\n(6 comments)\n\nI\u0027d love to hear if anyone has any alternative ideas on how we might approach this bug?\n\nI don\u0027t think I can offer an effective review without spending significantly more time here - the requirements and restrictions of the existing design may be more subtle than I can see without fighting with alternative solutions first hand.\n\nBut this implementation is using exceptions for flow control - which I would like to discourage - if at ALL possible (N.B. the related bug doesn\u0027t have a priority assigned; so I\u0027m taking for granted we have some leeway to address the defect while simultaneously improving the existing code)\n\nI think the code here is significantly more complicated, and I wasn\u0027t able to follow the change nearly as well as I was able to understand the bug report.  Complicated code is expected of course when we\u0027re taking on more complexity - but the diff line count ratio from code to tests doesn\u0027t seem to reflect the increase in complexity.\n\nWhat\u0027s going on, what\u0027s our goals, what are our options - what can I do to help?","accounts_in_message":[],"_revision_number":2},{"id":"20d1a0307d786cbe443ca167ea4883cd650120cf","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-21 17:50:01.000000000","message":"Patch Set 2:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6dccf27bc3e44b9596cd822359f8cb76 : SUCCESS in 6m 31s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/b62ef19b97724bbebaaeecbe42aff0d3 : FAILURE in 1h 11m 50s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/5d39b5e7efa84803a893476139ae0f72 : SUCCESS in 52m 12s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0cbb6c90499b4620b99ecc9b36c1d073 : SUCCESS in 10m 54s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/de30cc6fef3b4349999f8707c442f05a : SUCCESS in 15m 02s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/a0c21fbd49e540a7956d6daf91c0fab0 : SUCCESS in 12m 05s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/3a897f2ebe844948b29be24aa0b2fcca : SUCCESS in 11m 18s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/118fff1d59b646b286492335d998d4b2 : SUCCESS in 22m 54s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/0a945ad9a0ef4a3aa3ce5e41ab94935d : SUCCESS in 12m 12s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/48996645de1046c697ab1e187246bada : SUCCESS in 13m 34s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/421d2f4bab034786ac5498b72f8eac3f : SUCCESS in 17m 20s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/7f197c1b6d2049e6b2cda40a374aee95 : SUCCESS in 21m 49s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/723eb2d6c17e4ce08a46bee70c1ed2bc : SUCCESS in 16m 42s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/488756aa8f5d47db95dc5afc70817203 : SUCCESS in 12m 41s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/6e59bc96ed084e4a9cd2b8a953cbf2aa : SUCCESS in 11m 37s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/ded25ddc7b3d4a09b453c099d387d9fe : SUCCESS in 12m 39s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/e844d994d41a4825b2bc51127d903849 : SUCCESS in 14m 13s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/913b071eb10644b29f4aed2f0007e101 : SUCCESS in 14m 43s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/1e515c98e8544b118ef5876868e9de2e : FAILURE in 10m 26s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/3072eeb186484dc7847ea69fd21f1d0a : SUCCESS in 27m 04s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/a0840e9f4358481a8935e7f839c97fff : SUCCESS in 34m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/cf183b6ddd0c41b083250293eedef81c : SUCCESS in 33m 06s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8fc04f8da8f04f1c9928609698cca4ee : SUCCESS in 16m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/639333cda064419897ecb8d728f7f23a : SUCCESS in 6m 43s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/fa986901aedd4565a77baf6e4afe005f : FAILURE in 24m 18s","accounts_in_message":[],"_revision_number":2},{"id":"5a5ca3525f4e32fd92175c1db09660145474bcbd","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-28 00:54:32.000000000","message":"Patch Set 2:\n\n\u003e But this implementation is using exceptions for flow control - which I would like to discourage - if at ALL possible\n\nYeah, that\u0027s a good thought... and it gets more important on py3, as it muddies the real error when things go off the rails. Prompted me to write https://opendev.org/openstack/swift/commit/557335465 when I\u0027d go and accidentally introduce a NameError or something while I was porting the proxy.","accounts_in_message":[],"_revision_number":2},{"id":"064de25c928f8994940b591ed189f1da766a8edc","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-08-28 06:32:21.000000000","message":"Patch Set 2: Workflow-1\n\nkk, fair point. It was an easy way of adding the functionality without touching too much of the inception like code.\n\nWill have another go of reworking it the code to better fit our needs. thanks @clayg and @timburke :)\n\nI\u0027ll mark it WIP until I can push a new patchset","accounts_in_message":[],"_revision_number":2},{"id":"bba0a6661cc64c727416735bb11ddbcc3db9c97f","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-08-30 04:01:52.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"c3af83f6f06a419b4eb5b1494e6a13ae4374f9f7","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-30 05:08:47.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bbc189e1c6f147c3a2711fc1b35e9b59 : SUCCESS in 7m 21s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/5b2bc91c09b74de28874c9c12f490362 : SUCCESS in 1h 03m 27s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/855a0400bf7f40dca78a75cec90fa350 : SUCCESS in 54m 56s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/eacef3ca62d74e198cc06b4300feb172 : SUCCESS in 9m 08s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/1bb053e824e641d58bb922ccc8c2d4e1 : SUCCESS in 12m 12s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/b2bb293734cb4b0496b2af9f88e5710b : SUCCESS in 12m 40s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/d2cea4ad4f6b4980bab880fc246e1a25 : SUCCESS in 12m 56s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/cbd231fc4ba044ceb8cce8b89403fc25 : SUCCESS in 10m 06s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/4325bab0f7d644d1bc4b85dc47da8c51 : SUCCESS in 10m 23s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/1300f9aea7f44053ae67f0cd45ad3f0d : SUCCESS in 10m 31s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/68b5cbc6b574467397713150101656e3 : SUCCESS in 9m 43s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/2977fa9372304c30ab987a6e5f18e73a : SUCCESS in 12m 27s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/9431359712934f5d8f8b165de9174f48 : SUCCESS in 10m 10s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/f770c6a1fc754337bd8527fe0d792942 : SUCCESS in 10m 44s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/e1640231cc13497c9c012ccf2fb4529f : SUCCESS in 9m 20s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/27d86d01740e43688bd988d6ff6a0488 : SUCCESS in 11m 47s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/1a547e1c4aae43048a0a3da2c895366e : SUCCESS in 12m 42s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/2499bcbcea724afc80484fc32c932eac : SUCCESS in 13m 27s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/c2a3c8f546b84622845ad4f429e39236 : SUCCESS in 35m 27s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/33394eae28154f06a1eef7c2cbd7080f : SUCCESS in 35m 45s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/6ecc318ebba549a495be4b4594d1cab9 : SUCCESS in 41m 32s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/0b37052aa02a40649af418dc502601a6 : SUCCESS in 29m 35s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1b2bc0cacaed4107878747a17af6ef5c : SUCCESS in 11m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/befa9f238f644279997aa51352f2de50 : FAILURE in 6m 47s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/48e80231c28949c0ba7f978edf8bd812 : SUCCESS in 18m 33s","accounts_in_message":[],"_revision_number":3},{"id":"dd7d3bb43be4a3b095d2afc82ca82a330d60711b","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-09-04 03:03:39.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"212bbad41cc063512edf91de9240a860e61996ff","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-04 04:10:44.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d2aaec84af14440cb16d68df638e992b : SUCCESS in 5m 13s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/968525d0a5ea4dd7953f86dac91491f6 : SUCCESS in 1h 00m 13s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/0924ffde02414909b6338ea23004b263 : SUCCESS in 53m 53s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b32aa3c5f4834a7087a80a9341b52e83 : SUCCESS in 8m 39s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/7bb5347b4ada44378aab1fa3af4dd57c : SUCCESS in 11m 58s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/970ca472cfe54213a82dbc48707b5d7d : SUCCESS in 12m 38s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ec11ad55d4b14cc9a68bc6fe8350512b : SUCCESS in 16m 46s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/54d485c1a2824c83a500c5d34e01bf2c : SUCCESS in 15m 21s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/23fe43274fb546dabcc4af4b636caa83 : SUCCESS in 9m 41s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/9a25f7efaaed4c0eb56f4c86d61510d9 : SUCCESS in 9m 37s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/6463ccd35ae341b9b713952a540557cb : SUCCESS in 10m 16s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/a3ef9df01be74b67a3bdd98169678597 : SUCCESS in 13m 41s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/9611168a46a64625a40c961312d0c748 : SUCCESS in 11m 11s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/1d53855392874fefb388192b63db5bf6 : SUCCESS in 14m 36s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/2690878cc5264623b270dd795e57676c : SUCCESS in 10m 56s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/cc2850435b614c46a6baa322d797f788 : SUCCESS in 12m 56s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/da3bd747769c492e88d9a787f024f8cd : SUCCESS in 14m 03s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/50d1a6021d3c46a8b9ce3b78b3b1b035 : SUCCESS in 15m 44s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/05e3bfaa18e14c65830c9f606400619c : SUCCESS in 32m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a3d3f7d87db347dfbf3ad952475b958c : SUCCESS in 29m 54s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/9eca5ee2b00e466d9e6384e912cf8b6f : SUCCESS in 31m 28s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/15e47a586de9453abce5068cf78320de : SUCCESS in 32m 05s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/cf77a86249f0482abb48312af3dd0576 : SUCCESS in 13m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/71febd0d040c4d29b3e43693f9e05d87 : SUCCESS in 6m 06s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b2ba5d607fb44df99bd731dfe4a96c62 : SUCCESS in 18m 29s","accounts_in_message":[],"_revision_number":4},{"id":"66987a536b08ed62d108ec2daec24339f0691d6e","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2019-09-26 19:41:27.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"f3e3ea3df141dc197a9634fda29fffdb70bafc46","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-09-26 23:20:05.000000000","message":"Patch Set 4: Code-Review+2\n\n(3 comments)\n\nI kinda really wanted to see a probe test for this... but as I tried to write one, I realized we don\u0027t really have enough container drives for it.","accounts_in_message":[],"_revision_number":4},{"id":"8db50131f86488e8e56f8815445b6af7dbf0c6ac","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-09-26 23:20:19.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"64d6a2d3d197446593a5acfd93f9e900cea91e11","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-09-26 23:27:09.000000000","message":"Patch Set 5: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"f9ac58d65507404f88f3c167a612b0ef7eeec47f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-27 00:26:39.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b0223e20afa649828f31abbb57bda4e5 : SUCCESS in 4m 50s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/3f4e6c2185994f50bb15119bed83025e : SUCCESS in 1h 02m 38s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/9b845fcfef9b4425835cb577eebe67a1 : SUCCESS in 57m 38s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e4e188a96e414ba2a499422773121212 : SUCCESS in 13m 12s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/8ec222aa07db47ba8f5239d950bc0424 : SUCCESS in 11m 54s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/993ff38fb3a948d7b1fcfed31acb1b14 : SUCCESS in 11m 26s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/245dd057406f464490098bc2cb9a62d7 : SUCCESS in 11m 29s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/54ae5a87bc4e452f92f9c11c722476e4 : SUCCESS in 9m 54s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/34418945cfc045aca4b7da70ec5ef979 : SUCCESS in 14m 49s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/02163ec68efe48c1921990c0bf7477d1 : SUCCESS in 10m 00s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/8e0b65e1452f4088b818a640741882f8 : SUCCESS in 10m 38s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/8d63c5de29304748ac8f4619011c0b78 : SUCCESS in 13m 30s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/3bf52dcde5f2497781587a7a147b885b : SUCCESS in 9m 57s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/6ddd7862a5b04710bf65178aefe49783 : SUCCESS in 15m 07s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/602b66ecad0541cb82d406d874b59985 : SUCCESS in 14m 40s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/f6069f44a04345e7accab3558aee9757 : SUCCESS in 11m 18s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/5bb18f0070a5408083559528b1817426 : SUCCESS in 14m 06s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d6718056a2c24a4abe01419c99a4c511 : SUCCESS in 14m 56s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/56f58afe5181484f813387e053df79a4 : SUCCESS in 32m 33s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/21dfb6f972ca4564ab3795124c33d108 : SUCCESS in 27m 53s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/b5b0523486284b168a85c1d10e034d1c : SUCCESS in 31m 39s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/90f10c38b4394e27bcbef40add66e242 : SUCCESS in 27m 58s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4d72b85e7cd046398e290788c442fa53 : SUCCESS in 13m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d137835bc7214cf1921827d7f5ae3e5f : SUCCESS in 6m 57s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/7942a7cb43654569a37925c2713dd82b : SUCCESS in 17m 00s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3c322ab0a14940d1a8c72e3bcda080ea : SUCCESS in 1h 03m 21s","accounts_in_message":[],"_revision_number":5},{"id":"2a3bd2f92f900580a9c2a4f755cad776a4224ee9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-27 00:26:55.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"becd5664c5742a991781288bd005d4c6f86a0a8d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-27 01:42:09.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/26d842f5573943f88106d745e7513a9f : SUCCESS in 5m 31s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/41e1a37f53d746a59b1b38d87e78df10 : SUCCESS in 1h 03m 30s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ad08753f92aa4f40be01db979f6cd9e3 : SUCCESS in 51m 19s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/a64712d1a7464cc796b1991307675048 : SUCCESS in 10m 06s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/16513a2171f94f88983cb12569daca08 : SUCCESS in 12m 09s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/9b130ac1f8a9457fac3809e528943491 : SUCCESS in 12m 11s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/35542827960043e4820b7b8a25821cc5 : SUCCESS in 12m 07s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/a2d24ec71c4b42e3800f6f8addf93575 : SUCCESS in 10m 35s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/1227324d762b4932885d47fbfbead396 : SUCCESS in 14m 47s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/89a32b60d09046aba375c3174acb76a4 : SUCCESS in 9m 47s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/b3b8691d28ec4b0988aa9e5708b1cf64 : SUCCESS in 10m 36s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/e98f3147337344e4ab827eddd8559bc4 : SUCCESS in 14m 46s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/966034ed652d47e1862567a776831873 : SUCCESS in 10m 08s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/5677db5011d84767956b92359a90b509 : SUCCESS in 11m 09s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/db500e49c383490da0a09d2a5f50bb37 : SUCCESS in 16m 00s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/44e9348f44b84346ae01b6eb2483b0b7 : SUCCESS in 13m 57s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/ec3acd68bd8b438d87cb84ab21029b82 : SUCCESS in 33m 02s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/dedbc16ac7394018851a31114fef7794 : SUCCESS in 33m 53s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/d44bfb06242346aab3febbc31f8eec2c : SUCCESS in 29m 57s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/37593a906b0c4b03b2af48f7f3de0be5 : SUCCESS in 31m 18s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1993ad04cc9d42378ecf9fb49802f4b6 : SUCCESS in 14m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6d64368cc86d4eb6b3f1a8bc16fb726a : SUCCESS in 5m 09s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/73bc0c8bfdde42bc9ef1bc7d3434171e : SUCCESS in 1h 04m 30s","accounts_in_message":[],"_revision_number":5},{"id":"1766bd6c6f4958d6985b60a32b54955e89567ad8","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-27 01:42:09.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":5},{"id":"a0c6d2df2c362390bcb7e16b1ab55eee83408948","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-27 01:43:29.000000000","message":"Patch Set 5:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eaf1e490867748fa8b8af910aabc4bc5 : SUCCESS in 57s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/594345622d9e4e9cb25f67444e88ead7 : SUCCESS in 38s (non-voting)","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"e9cd9f74a5264f396783ca2a4548a3da7cee7bff","revisions":{"33a033be08d1c440fd6ba16c991a10c0cc5911b0":{"kind":"REWORK","_number":1,"created":"2019-08-12 06:34:03.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/20/675820/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/675820/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/675820/1"}}},"commit":{"parents":[{"commit":"ff62cff01bab9013a489dbb0b33b34fb2e204351","subject":"Merge \"Allow Connection: value to be case-insensitive\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ff62cff01bab9013a489dbb0b33b34fb2e204351"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-08-12 06:16:17.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-08-12 06:16:17.000000000","tz":600},"subject":"sharder: Keep cleaving on empty shard ranges","message":"sharder: Keep cleaving on empty shard ranges\n\nWhen a container is being cleaved there is a possiblity that we\u0027re\ndealing with an empty or near empty container created on a handoff node.\nThese containers may have a valid list of shard ranges, so would need\nto cleave to the new shards.\nCurrently, when using a `cleave_batch_size` that is smaller then the\nnumber of shard ranges on the cleaving container, these containers will\nhave to take a few shard passes to shard, even though there maybe\nnothing in them.\n\nThis is worse if a really large container is sharding, and due to being\nslow, error limitted a node causing a new container on a handoff\nlocation. This empty container would have a large number of shard ranges\nand could take a _very_ long time to shard away, slowing the process\ndown.\n\nThis patch eliminates the issue by detecting when no objects are\nreturned for a shard range. In which case it\u0027ll throw a\n`ZeroCleavedObjectsException` which will:\n\n  - Log\n  - Not replicate the empty temp shard container sitting in a\n    handoff location\n  - Not count the shard range in the `cleave_batch_size` count\n  - Update the cleaving context so sharding can move forward\n\nChange-Id: Id338f6c3187f93454bcdf025a32a073284a4a159\nCloses-Bug: #1839355\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33a033be08d1c440fd6ba16c991a10c0cc5911b0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33a033be08d1c440fd6ba16c991a10c0cc5911b0"}]},"branch":"refs/heads/master"},"4f41f875b9fe15952566577c6dbae864e1757b20":{"kind":"REWORK","_number":2,"created":"2019-08-20 07:05:49.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/20/675820/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/675820/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/675820/2"}}},"commit":{"parents":[{"commit":"ff62cff01bab9013a489dbb0b33b34fb2e204351","subject":"Merge \"Allow Connection: value to be case-insensitive\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ff62cff01bab9013a489dbb0b33b34fb2e204351"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-08-12 06:16:17.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-08-20 06:59:20.000000000","tz":600},"subject":"sharder: Keep cleaving on empty shard ranges","message":"sharder: Keep cleaving on empty shard ranges\n\nWhen a container is being cleaved there is a possiblity that we\u0027re\ndealing with an empty or near empty container created on a handoff node.\nThese containers may have a valid list of shard ranges, so would need\nto cleave to the new shards.\nCurrently, when using a `cleave_batch_size` that is smaller then the\nnumber of shard ranges on the cleaving container, these containers will\nhave to take a few shard passes to shard, even though there maybe\nnothing in them.\n\nThis is worse if a really large container is sharding, and due to being\nslow, error limitted a node causing a new container on a handoff\nlocation. This empty container would have a large number of shard ranges\nand could take a _very_ long time to shard away, slowing the process\ndown.\n\nThis patch eliminates the issue by detecting when no objects are\nreturned for a shard range. In which case it\u0027ll throw a\n`ZeroCleavedObjectsException` which will:\n\n  - Log\n  - Not replicate the empty temp shard container sitting in a\n    handoff location\n  - Not count the shard range in the `cleave_batch_size` count\n  - Update the cleaving context so sharding can move forward\n\nIf there already is a shard range DB existing on a handoff node to use\nthen the sharder wont skip it, even if there are no objects, it\u0027ll\nreplicate it and treat it as normal, including using a `cleave_batch_size`\nslot.\n\nChange-Id: Id338f6c3187f93454bcdf025a32a073284a4a159\nCloses-Bug: #1839355\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4f41f875b9fe15952566577c6dbae864e1757b20"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4f41f875b9fe15952566577c6dbae864e1757b20"}]},"branch":"refs/heads/master"},"27f3fc134ed3eed9a5c42da8d74bf70e5b344543":{"kind":"REWORK","_number":3,"created":"2019-08-30 04:01:52.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/20/675820/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/675820/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/675820/3"}}},"commit":{"parents":[{"commit":"ff62cff01bab9013a489dbb0b33b34fb2e204351","subject":"Merge \"Allow Connection: value to be case-insensitive\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ff62cff01bab9013a489dbb0b33b34fb2e204351"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-08-12 06:16:17.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-08-30 03:48:35.000000000","tz":600},"subject":"sharder: Keep cleaving on empty shard ranges","message":"sharder: Keep cleaving on empty shard ranges\n\nWhen a container is being cleaved there is a possiblity that we\u0027re\ndealing with an empty or near empty container created on a handoff node.\nThese containers may have a valid list of shard ranges, so would need\nto cleave to the new shards.\nCurrently, when using a `cleave_batch_size` that is smaller then the\nnumber of shard ranges on the cleaving container, these containers will\nhave to take a few shard passes to shard, even though there maybe\nnothing in them.\n\nThis is worse if a really large container is sharding, and due to being\nslow, error limitted a node causing a new container on a handoff\nlocation. This empty container would have a large number of shard ranges\nand could take a _very_ long time to shard away, slowing the process\ndown.\n\nThis patch eliminates the issue by detecting when no objects are\nreturned for a shard range. The `_cleave_shard_range` method now\nreturns 3 possible results:\n\n  - CLEAVE_SUCCESS\n  - CLEAVE_FAILED\n  - CLEAVE_EMPTY\n\nThey all are pretty self explanitory. When `CLEAVE_EMPTY` is returned\nthe code will:\n\n  - Log\n  - Not replicate the empty temp shard container sitting in a\n    handoff location\n  - Not count the shard range in the `cleave_batch_size` count\n  - Update the cleaving context so sharding can move forward\n\nIf there already is a shard range DB existing on a handoff node to use\nthen the sharder wont skip it, even if there are no objects, it\u0027ll\nreplicate it and treat it as normal, including using a `cleave_batch_size`\nslot.\n\nChange-Id: Id338f6c3187f93454bcdf025a32a073284a4a159\nCloses-Bug: #1839355\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/27f3fc134ed3eed9a5c42da8d74bf70e5b344543"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/27f3fc134ed3eed9a5c42da8d74bf70e5b344543"}]},"branch":"refs/heads/master"},"bb3f5eea8a9b747b62673bcc4fab7e7136f0940f":{"kind":"REWORK","_number":4,"created":"2019-09-04 03:03:39.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/20/675820/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/675820/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/675820/4"}}},"commit":{"parents":[{"commit":"ff62cff01bab9013a489dbb0b33b34fb2e204351","subject":"Merge \"Allow Connection: value to be case-insensitive\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ff62cff01bab9013a489dbb0b33b34fb2e204351"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-08-12 06:16:17.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-09-04 03:03:20.000000000","tz":600},"subject":"sharder: Keep cleaving on empty shard ranges","message":"sharder: Keep cleaving on empty shard ranges\n\nWhen a container is being cleaved there is a possiblity that we\u0027re\ndealing with an empty or near empty container created on a handoff node.\nThese containers may have a valid list of shard ranges, so would need\nto cleave to the new shards.\nCurrently, when using a `cleave_batch_size` that is smaller then the\nnumber of shard ranges on the cleaving container, these containers will\nhave to take a few shard passes to shard, even though there maybe\nnothing in them.\n\nThis is worse if a really large container is sharding, and due to being\nslow, error limitted a node causing a new container on a handoff\nlocation. This empty container would have a large number of shard ranges\nand could take a _very_ long time to shard away, slowing the process\ndown.\n\nThis patch eliminates the issue by detecting when no objects are\nreturned for a shard range. The `_cleave_shard_range` method now\nreturns 3 possible results:\n\n  - CLEAVE_SUCCESS\n  - CLEAVE_FAILED\n  - CLEAVE_EMPTY\n\nThey all are pretty self explanitory. When `CLEAVE_EMPTY` is returned\nthe code will:\n\n  - Log\n  - Not replicate the empty temp shard container sitting in a\n    handoff location\n  - Not count the shard range in the `cleave_batch_size` count\n  - Update the cleaving context so sharding can move forward\n\nIf there already is a shard range DB existing on a handoff node to use\nthen the sharder wont skip it, even if there are no objects, it\u0027ll\nreplicate it and treat it as normal, including using a `cleave_batch_size`\nslot.\n\nChange-Id: Id338f6c3187f93454bcdf025a32a073284a4a159\nCloses-Bug: #1839355\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb3f5eea8a9b747b62673bcc4fab7e7136f0940f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb3f5eea8a9b747b62673bcc4fab7e7136f0940f"}]},"branch":"refs/heads/master"},"e9cd9f74a5264f396783ca2a4548a3da7cee7bff":{"kind":"REWORK","_number":5,"created":"2019-09-26 23:20:19.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/20/675820/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/675820/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/675820/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/675820/5"}}},"commit":{"parents":[{"commit":"6fbbaa910c77c128619333abad18caa4ae12bc27","subject":"Merge \"func tests: Add more UTF8 tests for versioning\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6fbbaa910c77c128619333abad18caa4ae12bc27"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-08-12 06:16:17.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-09-26 21:46:43.000000000","tz":-420},"subject":"sharder: Keep cleaving on empty shard ranges","message":"sharder: Keep cleaving on empty shard ranges\n\nWhen a container is being cleaved there is a possiblity that we\u0027re\ndealing with an empty or near empty container created on a handoff node.\nThese containers may have a valid list of shard ranges, so would need\nto cleave to the new shards.\nCurrently, when using a `cleave_batch_size` that is smaller then the\nnumber of shard ranges on the cleaving container, these containers will\nhave to take a few shard passes to shard, even though there maybe\nnothing in them.\n\nThis is worse if a really large container is sharding, and due to being\nslow, error limitted a node causing a new container on a handoff\nlocation. This empty container would have a large number of shard ranges\nand could take a _very_ long time to shard away, slowing the process\ndown.\n\nThis patch eliminates the issue by detecting when no objects are\nreturned for a shard range. The `_cleave_shard_range` method now\nreturns 3 possible results:\n\n  - CLEAVE_SUCCESS\n  - CLEAVE_FAILED\n  - CLEAVE_EMPTY\n\nThey all are pretty self explanitory. When `CLEAVE_EMPTY` is returned\nthe code will:\n\n  - Log\n  - Not replicate the empty temp shard container sitting in a\n    handoff location\n  - Not count the shard range in the `cleave_batch_size` count\n  - Update the cleaving context so sharding can move forward\n\nIf there already is a shard range DB existing on a handoff node to use\nthen the sharder wont skip it, even if there are no objects, it\u0027ll\nreplicate it and treat it as normal, including using a `cleave_batch_size`\nslot.\n\nChange-Id: Id338f6c3187f93454bcdf025a32a073284a4a159\nCloses-Bug: #1839355\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e9cd9f74a5264f396783ca2a4548a3da7cee7bff"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e9cd9f74a5264f396783ca2a4548a3da7cee7bff"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
