)]}'
{"id":"openstack%2Fswift~771089","triplet_id":"openstack%2Fswift~master~I6236f20d736c119947e50540b16d212dba1ec20c","project":"openstack/swift","branch":"master","topic":"p-fix-EC-bucket-timestamp","hashtags":[],"change_id":"I6236f20d736c119947e50540b16d212dba1ec20c","subject":"Fix 503s from EC GETs of objects with POST metadata","status":"MERGED","created":"2021-01-15 22:17:21.000000000","updated":"2021-01-21 22:51:11.000000000","submitted":"2021-01-21 22:47:08.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":15,"unresolved_comment_count":10,"has_review_started":true,"submission_id":"771089-p-fix-EC-bucket-timestamp","meta_rev_id":"dca3a50fa25ea9b95fc6928e65add8b20f9d74cb","_number":771089,"virtual_id_number":771089,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-01-21 22:47:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":2,"date":"2021-01-19 16:18:27.000000000","permitted_voting_range":{"min":2,"max":2},"_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":0,"_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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":1,"date":"2021-01-21 19:30:01.000000000","permitted_voting_range":{"min":1,"max":1},"_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":0,"_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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_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-15 22:58: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":"2021-01-16 01:59:52.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-19 16:18:27.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"}],"messages":[{"id":"012c14a7fa3131f8ceb1902fe3457a5586741893","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-15 22:17:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"a1382d6743913287898ee4c5249783079387e28b","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-01-15 22:58:09.000000000","message":"Patch Set 1: Code-Review+1\n\n(4 comments)\n\nLooks reasonable -- I\u0027m a little nervous about the possibility that we use a None timestamp when instantiating a \"good\" bucket, though... and the new test infra feels a little off.","accounts_in_message":[],"_revision_number":1},{"id":"2a6de0d1099ef9a4035d0bbdfb9163d94d4af4fe","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-16 01:59:52.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ea6ed24b1c7f4b388836204fb2ea3c6e : SUCCESS in 8m 20s\n- grenade https://zuul.opendev.org/t/openstack/build/7240882d29594e0c96951e4f5216bb17 : SUCCESS in 57m 36s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/5024596959ce485394076481f2d9090b : SUCCESS in 53m 12s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/71f509c140b443ee8ae0a0ea6f8db573 : SUCCESS in 8m 12s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/cc8316b9f481472785878bc89aeee994 : SUCCESS in 9m 03s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/152190fd58194e72bcabdad45a88730a : SUCCESS in 19m 22s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/1c70372e250d45058eefc59ba163bb8f : SUCCESS in 20m 10s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f36e80219d504eb0bd9efbb0efab7308 : SUCCESS in 14m 55s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/d898a392a47744a4892084cda497ca0c : SUCCESS in 16m 19s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/5ff6d31cc9834ad496516f9836866041 : SUCCESS in 15m 55s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/0e54c74a955f406bae539e09dba07d20 : SUCCESS in 17m 02s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/d8cda002599c45c3b967abbd4e5f605d : SUCCESS in 19m 20s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/b2fbf3aab6a541c5a48d2c61948c6529 : SUCCESS in 17m 10s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/6063c8fc9e7b409b9abb8442778d15b3 : SUCCESS in 23m 48s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/b41aa1d084ea415b964de63ac521985c : SUCCESS in 20m 20s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/05fea7ca8fcd4b87ae4b71b78aaa1ba9 : SUCCESS in 35m 16s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/6137d1f6c44c4b55b698ec1424b51877 : SUCCESS in 48m 24s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/f306e82d84674401ae0b596fe99d385d : SUCCESS in 44m 07s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/baf61c86e551436ea641f845af801648 : SUCCESS in 42m 13s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d273b0400f4e404f9a225c74af582bc6 : SUCCESS in 40m 09s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/68b0d60ee1f54faa9b8b0555f7b61bab : SUCCESS in 14m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bfbb09d6519f45e1970e7b9dd4badcf5 : SUCCESS in 5m 24s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/38a32888c1a24d1296fca88269799496 : FAILURE in 10m 09s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9b26ad6192c44ee19cc70de4ba7ae993 : SUCCESS in 54m 54s","accounts_in_message":[],"_revision_number":1},{"id":"cdb745834711e181295a3b2cfa5c2b8051e2a3cf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-19 11:34:53.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"ce86f3588ba7ffb213c5121de253691812fe2ee2","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-19 11:35:08.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"fab6c9ba592d1c32ae2eaeb97a432a12510c9f28","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-01-19 16:18:27.000000000","message":"Patch Set 2: Code-Review+2\n\n(3 comments)\n\nthis definately fixes the associated bug!  thanks for tracking this down.  nice work!\n\nsomething about the .update_timestamp boolean bothers me, but sense it\u0027s such a minor/stylistic implementation detail I\u0027m hesitant to hold things up.","accounts_in_message":[],"_revision_number":2},{"id":"4b777b3c9ea5c1d38b1e83bd2f551284541b3cb7","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-01-19 16:57:27.000000000","message":"Patch Set 2:\n\n(5 comments)","accounts_in_message":[],"_revision_number":2},{"id":"aed1ea63d06cf2c0338ea92ac5119a40efaae5fe","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-19 20:36:09.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6dd298a944894c9ea2f94874d5c4b5b1 : SUCCESS in 8m 42s\n- grenade https://zuul.opendev.org/t/openstack/build/5273228895ad49fe84efe43a6726558d : SUCCESS in 55m 52s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/618d11b251784b36aac2e34081f2fd69 : SUCCESS in 46m 44s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/85fa67a2dff6425fb0d915bfa27cfd99 : SUCCESS in 9m 13s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/ee5d52935c9d4d4384f23e95c5149e2f : SUCCESS in 9m 50s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/acd1a2e7e2f34b08879420019b6cfdd8 : SUCCESS in 13m 16s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/048176e5904c402eb2249b8a095e37a7 : SUCCESS in 17m 08s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/3990bb9eddd1434a963dae21ccba2f65 : SUCCESS in 14m 42s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/6fe756937c6d47ca9320d721899d5d31 : SUCCESS in 13m 13s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/3c60716cee32463c9053b17a526474f4 : SUCCESS in 16m 20s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/e7bc1e2d9c8c40f2b438dd699efa4e5f : SUCCESS in 18m 18s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/342ae1dd2879452492165c93d965090a : SUCCESS in 17m 49s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/afa0c4100f784619bb3bc6c762b54906 : SUCCESS in 20m 08s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/fc33758c26a64099b1592e4f4b3ee553 : SUCCESS in 18m 01s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/4f697e5667994e4f8ea7bd15985405ee : SUCCESS in 18m 08s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/0676c94111054b8d888c332d819da559 : SUCCESS in 22m 43s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/fb337f60fe3b4e218af0e97bec0b2b4c : SUCCESS in 46m 38s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/6e9e7a62487e41f1825395a9b3bb6e9b : SUCCESS in 54m 22s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0124c5fcc46a42efb3887b7df3c0b50c : SUCCESS in 54m 25s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d1b314c13a794b4a9434581110271aea : SUCCESS in 38m 30s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6bda5dea8840483d925cfb1c1f3f768e : SUCCESS in 14m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d3c61c08af5b48d887b90fe9c5d9a900 : SUCCESS in 6m 13s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/750477fc201448a88b8d5d1196ff1a9d : FAILURE in 8m 16s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ad7d02ac08c7413c9b95b311c4b0c856 : SUCCESS in 59m 57s","accounts_in_message":[],"_revision_number":2},{"id":"54c4a9085dff705a9222787f607a9a58f8e38872","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-01-21 19:30:01.000000000","message":"Patch Set 2: Workflow+1\n\n(1 comment)\n\nI suppose ultimately it\u0027s six one way half a dozen the other, and this fixes what is clearly a bug - so we better go ahead and ship it!\n\nI\u0027m curious if anyone else might find this compromise more agreeable:\n\nhttps://review.opendev.org/c/openstack/swift/+/771878","accounts_in_message":[],"_revision_number":2},{"id":"d8fdd3a92e824171ea74a64649e68c993f2bb338","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-21 19:31:07.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"8aea172b67d8fd4f2432d7a647a23f6008e8bf02","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-21 22:47:07.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/432b58618c784f019d0703949a79c3d3 : SUCCESS in 16m 01s\n- grenade https://zuul.opendev.org/t/openstack/build/5bea4da26a0f4af288d2a81799686f00 : SUCCESS in 50m 34s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/891bfe2ace4f4653a6bed328047e8d81 : SUCCESS in 48m 42s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/eabc2a323c394731b13272a75c3be576 : SUCCESS in 8m 50s (non-voting)\n- swift-upload-image-py3 https://zuul.opendev.org/t/openstack/build/4be808f793984dec874511e162b441fc : POST_FAILURE in 12m 36s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/218d5e9f086f440e8a08b86b12f6b15a : SUCCESS in 12m 39s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/c26ae51aa92840c98772aa4dd8404166 : SUCCESS in 16m 09s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/3de568d941e34110befa2e5b39b08f66 : SUCCESS in 15m 34s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/207e2e6d610a401daa575cf986e0cb41 : SUCCESS in 13m 41s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/8ef4855e47de472083e15e8eeeb2e95e : SUCCESS in 19m 04s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/df4c76fbe2d84144bfc0f3e6b45e6381 : SUCCESS in 15m 58s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/b006a42a22e949698e858f45cbbce143 : SUCCESS in 18m 23s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/4568cbc102844fb0811e8364ae93fb05 : SUCCESS in 18m 30s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/9ede65ffcb5a4ea4958c8f80871e0243 : SUCCESS in 16m 50s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/c5bbf22c2ee340ef96ea0c197a45c3d4 : SUCCESS in 20m 06s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/8dca58cb85dd47819fe45f443392a1de : SUCCESS in 46m 49s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/6da60c882687483680e9cf2e0b011fdc : SUCCESS in 58m 59s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/859e62a9ecbc455c994e717381255699 : SUCCESS in 41m 50s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/493333a6275044948242f59c74c6feb9 : SUCCESS in 38m 48s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6d117605db844fbfaf148d8510fccade : SUCCESS in 17m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8c63b118e51e4231ac89787ceea150d4 : SUCCESS in 5m 59s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b86e6c43b00f4e23a0e0fef2e3e6a107 : SUCCESS in 1h 00m 44s","accounts_in_message":[],"_revision_number":2},{"id":"dc286d3fe3b2af3dc0d5992a93c72df125f6a8b8","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-21 22:47:08.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2},{"id":"dca3a50fa25ea9b95fc6928e65add8b20f9d74cb","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-21 22:51:11.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/33f97c3d30fa434a8cbf6ed2547178e3 : SUCCESS in 56s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/f8252d3516e94d2186a595af6d95f7ad : SUCCESS in 47s (non-voting)\n- swift-promote-image-py3 https://zuul.opendev.org/t/openstack/build/dd6167c523534c8d92f43488c7fb4b21 : SUCCESS in 47s (non-voting)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"cc3fa3cc0fa51df0e3eb872744da428a7e742cea","revisions":{"2bc88671a50ed96446f8c9d2f9814775976f79ae":{"kind":"REWORK","_number":1,"created":"2021-01-15 22:17:21.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/89/771089/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/89/771089/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/89/771089/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/89/771089/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/89/771089/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/89/771089/1"}}},"commit":{"parents":[{"commit":"37f2661c47fd05444bd799e15a030ab2e1ea9ce6","subject":"Merge \"py3: Fix status comparison in ECGetResponseCollection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/37f2661c47fd05444bd799e15a030ab2e1ea9ce6"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-15 22:05:02.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-15 22:16:36.000000000","tz":0},"subject":"Fix 503s from EC GETs of objects with POST metadata","message":"Fix 503s from EC GETs of objects with POST metadata\n\nWhen an ECGetResponseBucket is used to collect \u0027good\u0027 backend\nresponses, its timestamp is used to construct fragment preferences\nthat govern the choice of fragments that a backend might return with\nsubsequent reponses. The bucket timestamp should remain fixed and\nequal to the X-Backend-Data-Timestamp of the responses that it is\ncollecting when the responses are successful.\n\nPreviously the bucket timestamp was updated by each response\u0027s\nX-Backend-Timestamp, which could be newer than the\nX-Backend-Data-Timestamp if the object had newer metadata from a\nPOST. This caused the fragment preferences mechanism to fail,\npotentially resulting in no bucket of durable fragments being\nassembled even when sufficient durable fragments existed on backend\nservers. In this case teh proxy would return a 503 response to the\nclient.\n\nThe bucket timestamp should be updated by X-Backend-Timestamp when\ncollecting bad responses, but not when collecting good responses.\n\nChange-Id: I6236f20d736c119947e50540b16d212dba1ec20c\nCloses-Bug: #1912014\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2bc88671a50ed96446f8c9d2f9814775976f79ae"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2bc88671a50ed96446f8c9d2f9814775976f79ae"}]},"branch":"refs/heads/master"},"cc3fa3cc0fa51df0e3eb872744da428a7e742cea":{"kind":"REWORK","_number":2,"created":"2021-01-19 11:34:53.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/89/771089/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/89/771089/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/89/771089/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/89/771089/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/89/771089/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/89/771089/2"}}},"commit":{"parents":[{"commit":"37f2661c47fd05444bd799e15a030ab2e1ea9ce6","subject":"Merge \"py3: Fix status comparison in ECGetResponseCollection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/37f2661c47fd05444bd799e15a030ab2e1ea9ce6"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-15 22:05:02.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-19 11:33:37.000000000","tz":0},"subject":"Fix 503s from EC GETs of objects with POST metadata","message":"Fix 503s from EC GETs of objects with POST metadata\n\nWhen an ECGetResponseBucket is used to collect \u0027good\u0027 backend\nresponses, its timestamp is used to construct fragment preferences\nthat govern the choice of fragments that a backend might return with\nsubsequent reponses. The bucket timestamp should remain fixed and\nequal to the X-Backend-Data-Timestamp of the responses that it is\ncollecting when the responses are successful.\n\nPreviously the bucket timestamp was updated by each response\u0027s\nX-Backend-Timestamp, which could be newer than the\nX-Backend-Data-Timestamp if the object had newer metadata from a\nPOST. This caused the fragment preferences mechanism to fail,\npotentially resulting in no bucket of durable fragments being\nassembled even when sufficient durable fragments existed on backend\nservers. In this case teh proxy would return a 503 response to the\nclient.\n\nThe bucket timestamp should be updated by X-Backend-Timestamp when\ncollecting bad responses, but not when collecting good responses.\n\nChange-Id: I6236f20d736c119947e50540b16d212dba1ec20c\nCloses-Bug: #1912014\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cc3fa3cc0fa51df0e3eb872744da428a7e742cea"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cc3fa3cc0fa51df0e3eb872744da428a7e742cea"}]},"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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}]}],"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":{}}}]}
