)]}'
{"id":"openstack%2Fswift~729092","triplet_id":"openstack%2Fswift~master~Ia902fe74e7806514deab94d50fec280a6f73150a","project":"openstack/swift","branch":"master","hashtags":[],"change_id":"Ia902fe74e7806514deab94d50fec280a6f73150a","subject":"s3api: Log ratelimited requests as 498s","status":"ABANDONED","created":"2020-05-19 02:36:36.000000000","updated":"2021-05-14 20:05:43.000000000","total_comment_count":12,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"14b03ee6f56a24448f1694f9cc6b9740c917f830","_number":729092,"virtual_id_number":729092,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:check","value":1,"date":"2020-05-19 18:14:58.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"rejected":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":2,"date":"2020-05-19 21:18:48.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":-2,"date":"2020-05-26 22:12:30.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":{"rejected":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":-1,"date":"2020-05-26 22:12:30.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":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":"2020-05-19 18:14:58.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":"2020-05-19 21:18:48.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":"32349dac4e81823509fc3674615a7efcfab03d00","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-05-19 02:36:36.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b011fa9e0a35362655c9d0fe54c3a572aa6aba82","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-19 03:40:58.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/75c60b0c247040099b240287c542c2f5 : SUCCESS in 10m 19s\n- grenade https://zuul.opendev.org/t/openstack/build/26674356724c4ca88a097a2d97b5dc6d : SUCCESS in 1h 03m 12s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/18150ddbcb9d44f8a842d852760d185f : SUCCESS in 43m 54s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/32dd108de2504b3cb9c731560c3926fe : SUCCESS in 8m 52s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/9f7e89de25be4b5fb0154cd89263308b : SUCCESS in 11m 08s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/2be79592f30c464b9a2e0ade68085c55 : SUCCESS in 15m 53s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/a43d035b47d244ed92a3d0c9bd8bdd45 : SUCCESS in 22m 46s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/9adde78c75484f368f41684add119696 : SUCCESS in 13m 38s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/0963a0e8f1384593836ef0ca893c2883 : SUCCESS in 23m 33s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/c7e89f6f8ba843b49fb2895d77285920 : SUCCESS in 12m 42s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/cb05e600637b4edaa1c6c2103f2976d4 : SUCCESS in 32m 39s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/b70efdbc17d949f7af3318fcefb11ec4 : SUCCESS in 10m 16s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/835e177b2bc846ebbfa9d0b305f4e4f1 : SUCCESS in 27m 48s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/f29fee3b7cae4611a72f0d91dcd5e67d : SUCCESS in 35m 26s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/b08d1aa9ede84720aa542d8d19dbb9b8 : SUCCESS in 10m 57s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/ff1ad57ac90340198623c685bddcc7b9 : SUCCESS in 15m 54s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/e1410bc697254e4886c9d5de57493296 : SUCCESS in 10m 26s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/f17e9444342e46beb4c92195515f86e0 : SUCCESS in 26m 44s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/cd25af14ee3a4718a6c188dc67cc8871 : SUCCESS in 20m 02s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ac3b7b9ff87d4865b67bbb3d13e17b47 : SUCCESS in 36m 47s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/01e6dbddf7ca4b8bb89d2de5248008c9 : SUCCESS in 50m 06s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/990d8c91e46f4561a1b4e8fb89a65709 : SUCCESS in 34m 19s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/49cdd25f278140868f61bc472513420b : SUCCESS in 46m 53s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/38690e3abcc94186b7990258df541be9 : SUCCESS in 46m 38s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/43e521ed3632462db7408e88151e58ba : SUCCESS in 12m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/008dd5a40dea427aa66a11eef271eaba : SUCCESS in 6m 51s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a3a8d3b6b02240c1b2bda950de5503ed : FAILURE in 8m 16s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/011d12c3c0c84329b7e2a391d38082ef : SUCCESS in 1h 00m 34s","accounts_in_message":[],"_revision_number":1},{"id":"57b40784200eb3d72de589fc261e34f4bbb7bc6c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-05-19 16:30:51.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"9b5b46b74e63e67053b9b40ee1dafe7b1e1977f1","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2020-05-19 17:19:50.000000000","message":"Patch Set 2: Code-Review+1\n\n(5 comments)\n\nSo lacking any obvious integration test between the code that sets the environ hook and consumes it I\u0027d like to functionally test before I sign off - but ... well that\u0027s hard because it\u0027s not so obvious how to write a func test to get error limited.\n\nTim, did you have some settings you could recommend for dev and a script generate the load you need to observe this functionally?  I don\u0027t want write a bunch of new code if you have something already good enough?","accounts_in_message":[],"_revision_number":2},{"id":"86d0fa072ac9dd78e33fd9b2d21fa1f4cc8e8980","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-05-19 17:55:26.000000000","message":"Patch Set 2:\n\n(2 comments)\n\nAlso posted in IRC, but FWIW, I was testing with something like\n\n ...\n \n [pipeline:main]\n pipeline \u003d ... s3api tempauth ratelimit ...\n \n ...\n \n [filter:ratelimit]\n use \u003d egg:swift#ratelimit\n container_listing_ratelimit_0 \u003d 10\n max_sleep_time_seconds \u003d 0\n\nthen make sure there\u0027s at least one object in a container and do an S3 listing. With the max-sleep at zero, all requests will be ratelimited. Check debug logs on the client to confirm that it really is getting a 503, check swift logs to see that those got logged as 498s.","accounts_in_message":[],"_revision_number":2},{"id":"8bcbaa402e3e02b3fbdc1089a5f6ce954e289368","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-19 18:14:58.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3b3821808d7048fd8fd9c74197ac0285 : SUCCESS in 10m 41s\n- grenade https://zuul.opendev.org/t/openstack/build/3d7f45548c9a481bb852c356ccb43abe : SUCCESS in 1h 07m 31s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/35648da37d5d4766bfcb0e8405bddf31 : SUCCESS in 1h 01m 27s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8030e4e303614725aabc2177892f70a2 : SUCCESS in 11m 02s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/15b575296b8540ff966cf4022b5e1541 : SUCCESS in 9m 55s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/04ba96c6bb604e77a057412bdc33277f : SUCCESS in 17m 14s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/a88be900c67243eaa6d66db5e77df566 : SUCCESS in 21m 30s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/01326d7822a14dee9d5e0998aac6cbe0 : SUCCESS in 16m 54s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/89b89ec8c3e94c029b33b26ecb4cf96d : SUCCESS in 16m 28s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/1eea55e5b72748708a144149705e3733 : SUCCESS in 19m 59s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/447f7207d0494ba0b22833651ce51a3f : SUCCESS in 17m 28s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/0f175a65fb9c46bda57f4508be660ac2 : SUCCESS in 25m 34s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/1c4f291fedeb4fceaaa9a991dcf35241 : SUCCESS in 14m 43s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/371effcf176542318d1fe7edaebea40e : SUCCESS in 22m 41s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/24eea897ace84573990b48ed18c2e426 : SUCCESS in 28m 22s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/07b48e768d9c4d7ea33dc34163cd8727 : SUCCESS in 16m 14s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/3b9b61b5014f475997cf314f314e6590 : SUCCESS in 13m 55s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/de811debb2a84083b97832a0e852f3e3 : SUCCESS in 18m 08s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/e5ffeeabf90a47e48e61446f9b76e2ad : SUCCESS in 18m 28s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/53614a688d774f97a46170ded54cd437 : SUCCESS in 25m 42s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/92ed5230b71843a6addc3a2724228750 : SUCCESS in 49m 23s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a3a8861303b74fa8b33d6def82b38ec9 : SUCCESS in 43m 17s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/43aee43451154f95a8b6259dfb396d73 : SUCCESS in 46m 33s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7d841f1e9d314874ba32cbd5f60eed40 : SUCCESS in 37m 20s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/728f3fd665f2496c83698af9bf730940 : SUCCESS in 13m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d628cf313414499db7764aac5e2ffca6 : SUCCESS in 7m 37s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/cb0e1baa816243c0963db76dcbb715d0 : FAILURE in 12m 41s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4cb1852a25144f5c9db6a66db4aa8ebe : SUCCESS in 1h 11m 54s","accounts_in_message":[],"_revision_number":2},{"id":"e2297709b4ab6a64a995cb6057203f7218674e9a","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2020-05-19 21:18:48.000000000","message":"Patch Set 2: Code-Review+2\n\n(3 comments)\n\nmaster:\n\nMay 19 20:59:17 saio proxy-server: 127.0.0.1 127.0.0.1 19/May/2020/20/59/17 GET /s3test%3Fencoding-type%3Durl HTTP/1.0 503 - aws-cli/1.18.26%20Python/2.7.17%20Linux/4.15.0-99-generic%20botocore/1.15.26 - - 183 - txb3449582d27e4b7cb8623-005ec448a5 - 0.0300 - - 1589921957.004991055 1589921957.034982920 -\nMay 19 20:59:17 saio proxy-server: STDERR: 127.0.0.1 - - [19/May/2020 20:59:17] \"GET /s3test?encoding-type\u003durl HTTP/1.1\" 503 526 0.048887 (txn: txb3449582d27e4b7cb8623-005ec448a5)\n\n\nbetter:\n\nMay 19 20:56:33 saio proxy-server: 127.0.0.1 127.0.0.1 19/May/2020/20/56/33 GET /s3test%3Fencoding-type%3Durl HTTP/1.0 498 - aws-cli/1.18.26%20Python/2.7.17%20Linux/4.15.0-99-generic%20botocore/1.15.26 - - 183 - txad4f623077a84e14a7375-005ec44801 - 0.4641 - - 1589921793.194302082 1589921793.658435106 -\nMay 19 20:56:33 saio proxy-server: STDERR: 127.0.0.1 - - [19/May/2020 20:56:33] \"GET /s3test?encoding-type\u003durl HTTP/1.1\" 503 526 0.470535 (txn: txad4f623077a84e14a7375-005ec44801)\n\n\nthe line we care about is the first one, were it WAS 503 now I\u0027m seeing 498.\n\nWhich is great because in both cases s3api will see the 503 and retry\n\nThis can definitely be used to limit s3api bucket listings and object uploads.  I tried and failed kick in ratelimits via s3api on object delete, and I didn\u0027t test multi-delete or anything with MPUs\n\npython-swiftclient FWIW does NOT retry on rate-limited responses which isn\u0027t great:\n\nhttps://bugs.launchpad.net/python-swiftclient/+bug/1879572","accounts_in_message":[],"_revision_number":2},{"id":"8b48311cb39df791a966c195cf4f6b0a1471be64","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-05-19 23:07:18.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"8fe4db07ac7bd787879e59cb745b2ca2dca8a727","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-05-26 22:12:30.000000000","message":"Patch Set 2: Code-Review-2 Workflow-1\n\nBrought it up at the meeting; people seem bearish on the idea of lying in logs: http://eavesdrop.openstack.org/meetings/swift/2020/swift.2020-05-20-21.00.log.html#l-26\n\nI\u0027ll push more on https://review.opendev.org/#/c/729093/ to have it get logged as a 429; we can try to feel out what the s3-client-ecosystem support for that is like.","accounts_in_message":[],"_revision_number":2},{"id":"14b03ee6f56a24448f1694f9cc6b9740c917f830","tag":"autogenerated:gerrit:abandon","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-05-14 20:05:43.000000000","message":"Abandoned\n\nhttps://review.opendev.org/c/openstack/swift/+/729093 seems to have gotten us most everything we were hoping to get out of this.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"0fc9936b0aeba5047d74e04902d072489adf5631","revisions":{"6cf97e687aa35a7e8aca5e40ce4fb474a3b31b3c":{"kind":"REWORK","_number":1,"created":"2020-05-19 02:36:36.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/92/729092/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/92/729092/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/92/729092/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/92/729092/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/92/729092/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/92/729092/1"}}},"commit":{"parents":[{"commit":"51bb90bc7dc59d253448d2ec4e1be56ac8c4e2db","subject":"prefactor: Pass s3api Config to S3Requests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/51bb90bc7dc59d253448d2ec4e1be56ac8c4e2db"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-05-19 02:35:33.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-05-19 02:35:33.000000000","tz":-420},"subject":"s3api: Log ratelimited requests as 498s","message":"s3api: Log ratelimited requests as 498s\n\n...even though that\u0027s not what will get returned to the client.\n\nOtherwise, operator\u0027s metrics get ambiguous: are those 503s\nhappening because of error limiting, or backend issues?\n\nChange-Id: Ia902fe74e7806514deab94d50fec280a6f73150a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6cf97e687aa35a7e8aca5e40ce4fb474a3b31b3c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6cf97e687aa35a7e8aca5e40ce4fb474a3b31b3c"}]},"branch":"refs/heads/master"},"0fc9936b0aeba5047d74e04902d072489adf5631":{"kind":"REWORK","_number":2,"created":"2020-05-19 16:30:51.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/92/729092/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/92/729092/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/92/729092/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/92/729092/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/92/729092/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/92/729092/2"}}},"commit":{"parents":[{"commit":"70dede1ae9b714f0eed3804022b49517a562bdd6","subject":"Merge \"versioning: Use CONTAINER_LISTING_LIMIT when doing container listings\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/70dede1ae9b714f0eed3804022b49517a562bdd6"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-05-19 02:35:33.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-05-19 16:29:57.000000000","tz":-420},"subject":"s3api: Log ratelimited requests as 498s","message":"s3api: Log ratelimited requests as 498s\n\n...even though that\u0027s not what will get returned to the client.\n\nOtherwise, operator\u0027s metrics get ambiguous: are those 503s\nhappening because of error limiting, or backend issues?\n\nChange-Id: Ia902fe74e7806514deab94d50fec280a6f73150a\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0fc9936b0aeba5047d74e04902d072489adf5631"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0fc9936b0aeba5047d74e04902d072489adf5631"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
