)]}'
{"id":"openstack%2Fswift~745603","triplet_id":"openstack%2Fswift~master~I83cdaa2cbd394cbd49609c65bf9c5ed026c55417","project":"openstack/swift","branch":"master","topic":"worker-management","hashtags":[],"change_id":"I83cdaa2cbd394cbd49609c65bf9c5ed026c55417","subject":"Bind a new socket per-worker","status":"MERGED","created":"2020-08-10 23:18:41.000000000","updated":"2020-09-03 02:01:31.000000000","submitted":"2020-09-03 01:59:13.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":68,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"745603-1599098353228-8a9bf4a0","meta_rev_id":"0d39b5b4aa620e406f0d3be79f4d1e55a66d7617","_number":745603,"virtual_id_number":745603,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"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":"2020-09-03 01:59:12.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},{"value":0,"date":"2020-09-02 18:15:45.000000000","_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":"2020-08-25 22:37:36.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":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},{"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":"2020-09-02 21:34:18.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":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},{"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":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},{"_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-08-11 11:52:33.000000000","updated_by":{"_account_id":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},"reviewer":{"_account_id":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},"state":"REVIEWER"},{"updated":"2020-09-02 21:34:18.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":"2020-09-03 01:59:12.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":"4fe0cd9b16b4018f8ccbb0b411854b5710da990c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-08-10 23:18:41.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bfd5a70a0082cff8f65b8696d1a063329e791e52","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-11 01:31:38.000000000","message":"Patch Set 1: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f3ff020e0f374e38a38ba80419e855d5 : SUCCESS in 8m 50s\n- grenade https://zuul.opendev.org/t/openstack/build/ce20c887705e4575a73d8a3d785435aa : SUCCESS in 2h 11m 57s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/56bcab96fd63416ea6ce50ab5b714597 : SUCCESS in 52m 25s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/c79d287c332e4ab3b0dc3bcfa5f1603a : SUCCESS in 8m 25s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/63556305a8dd492790471998c330bde6 : SUCCESS in 9m 00s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/0782f6151ff6438ea358640ad86c3854 : FAILURE in 10m 10s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/1cb919e21309405cac6e397001e3e21a : FAILURE in 14m 17s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8dd17f714c1247309251807ee414254f : FAILURE in 13m 42s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/57cc7193c5144949a3a4aceeed19a64d : FAILURE in 16m 32s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/761c6981d02d4079b4784df4d51770be : SUCCESS in 19m 45s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/d722a0d4d3bf49ffa9a1961d8618068b : SUCCESS in 21m 29s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/db6bd9b8c669438682a25c5eb24d813f : SUCCESS in 16m 40s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/2e2c0375cfd34ab1806e1e2240c5504d : SUCCESS in 16m 54s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/7eb2d8e6c7b64da18d8db4360f8e6a4a : SUCCESS in 18m 03s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/8146bff129c24635a431536e7f69f832 : SUCCESS in 29m 17s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/37bdd59db581465791ede58e5fce5ed3 : TIMED_OUT in 1h 00m 50s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/feefd3f9d7b848728d73020f5d690575 : TIMED_OUT in 1h 31m 05s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8a2b6f719d264d239857ef4caebca2a9 : SUCCESS in 40m 35s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d5a84bbaa5394c308fcdc57fede97a08 : SUCCESS in 46m 54s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/06a34524136a4851a9fd21df56e3fc6b : FAILURE in 12m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d23f9cc3fcb34087b7118b02c0c2cef9 : FAILURE in 5m 17s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/7e38145def5041949f97b35a5d9a2ea0 : TIMED_OUT in 1h 01m 12s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/360483b2c3b840d3863ebc3fb8bae37f : SUCCESS in 58m 43s","accounts_in_message":[],"_revision_number":1},{"id":"f477cdaedfdae6b1b1fa0372a10e38d025f70b83","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-08-11 04:57:41.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"8aeeb19918b7423d04bb24d76cb754509c50b543","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-11 06:13:12.000000000","message":"Patch Set 2: Verified-1\n\n(1 comment)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c940aa9062ad47dfb277f6d035e1da67 : SUCCESS in 7m 07s\n- grenade https://zuul.opendev.org/t/openstack/build/7223358f029a4e90b81b6c307fcdfd76 : SUCCESS in 1h 08m 38s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/3be73fd9985948fdb19f55fca61e6a4d : SUCCESS in 48m 46s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/2e47d78843aa431f9ce282a6452a1300 : SUCCESS in 7m 09s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/f7fd2200f0664dd399279ea3aefa548c : SUCCESS in 7m 55s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/166c592bfe644455bf9e69f24a9a15c2 : FAILURE in 12m 30s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/071bbd89b919412a9b903f70054533c8 : FAILURE in 10m 58s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/92b5a9a5693c46d59c351c2d304f096c : FAILURE in 9m 57s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/3109c6f4be904debaaec61ef0e3e8ba4 : FAILURE in 12m 20s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/ae182b6e0691430bbd470ee9bd765a18 : SUCCESS in 14m 44s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/e8f87f1a7cfe40b6be17a357bf30eb7c : SUCCESS in 15m 31s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/3ef1c5d0eac24b19974f7437412738d5 : SUCCESS in 13m 50s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/fdfc859f456f4adaaced78f8f03c76a1 : SUCCESS in 16m 43s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/3854407594594487a90e82c9b8806fe3 : SUCCESS in 15m 28s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/c214da513c3f4f2988106c6218c634e3 : SUCCESS in 17m 30s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/a93c391163df4b59a8ca70926516a83f : FAILURE in 29m 12s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/dfb4a67d5b6d4ecf81bd3a28c9e248da : SUCCESS in 44m 23s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c2a197612123492e885fada7055fb3b5 : SUCCESS in 39m 15s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/97296165e15e4ccfaaa940a9043c538b : SUCCESS in 42m 06s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2ce997b2eca346ba84cb1430e8e81bcc : FAILURE in 10m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/58074312739748b88d074a15d0b89ed9 : FAILURE in 5m 33s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/cbb3bee88d144f9eacff1aa1e4082c3b : FAILURE in 8m 04s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/cadd42d71a0449c09442d969cb73546d : SUCCESS in 35m 05s","accounts_in_message":[],"_revision_number":2},{"id":"903b65bb4b23c804222f25f6b2a31b7e3fa844e7","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-08-11 22:38:14.000000000","message":"Patch Set 2: Code-Review-1\n\n(4 comments)","accounts_in_message":[],"_revision_number":2},{"id":"b4dbf3cdb07b27f08e33dbdb9ddca18c75083185","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-08-11 22:38:34.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"86184233ab420d8256a67b38bd1eb69cf9eb3441","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-11 23:47:24.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d3174ac6282c4b2486d462760120d814 : SUCCESS in 8m 34s\n- grenade https://zuul.opendev.org/t/openstack/build/8c7c9a0f3fb4498fbf6a2403dfd297a7 : SUCCESS in 1h 01m 45s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/42a0d4e0baa7423e9b031bd9e2b64c0f : SUCCESS in 47m 36s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/85d018f648374542899acf4878c12c7b : SUCCESS in 8m 23s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/799e31f024bd4e0392da8785deb21a85 : SUCCESS in 9m 43s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/fb8eab7660644b2ab4ed57fb8370c0fe : SUCCESS in 12m 07s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/04461af922484d50b7caf472a4ca3a05 : SUCCESS in 12m 41s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/81808a368359487da5cc5a6b35256f52 : SUCCESS in 12m 58s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/c49222f0d73249fb830fd61baed30f68 : SUCCESS in 12m 50s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/a5b85a24802a4f51b0caaeeec9424ef0 : SUCCESS in 16m 49s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/57f56bb7f40f4047b15de998bb4eb82e : SUCCESS in 18m 46s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/a750d3f89fbc4834953fa5a6ecf6d773 : SUCCESS in 19m 47s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/e162afc04e464f03984e050d364e41b2 : SUCCESS in 19m 33s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/6d3e86ece87848c6bd550eff5ffdcb9c : SUCCESS in 17m 27s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/896627fc424d42308debb608075899e3 : SUCCESS in 20m 35s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/4fef42fa690e4a90b64c792d25ab1bf9 : SUCCESS in 21m 19s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/adb3483422a3422bbc105c90c64ee058 : SUCCESS in 41m 47s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e28ce9d447af4b92a1745c80b69a99f2 : SUCCESS in 45m 22s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/6adc3e83fdc345faaea9f6e2101fb0b4 : SUCCESS in 39m 50s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a03b416aa6f149898329e9072e895b43 : SUCCESS in 15m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/950baee66dff4fa38f1e5671f64d223c : SUCCESS in 5m 38s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e358c60dcc31425ba89776838bc8a14a : FAILURE in 10m 27s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a4bda5c6dac640728fed2e3e249c3a4a : SUCCESS in 55m 14s","accounts_in_message":[],"_revision_number":3},{"id":"35e0dd5ea2757a72b00597f4669e8ea60452dab7","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-08-19 19:04:43.000000000","message":"Patch Set 3: Code-Review+1\n\nTried it out in prod; so far, looking good! Before:\n\n$ sudo netstat -antulp | grep -E \u0027Proto|8080.*ESTAB\u0027| perl -MData::Dumper -ne \u0027if (/\\s+(\\S+):\\d+\\s+ESTABLISHED (\\d+)/) { $H{$1}++; $H2{$2}++ }; END { foreach $k (keys %H) { $tot +\u003d $H{$k}; if ($H{$k} \u003c 10) { $H{\"OTHER\"} +\u003d $H{$k}; delete $H{$k} }}; foreach $k (keys %H2) { $tot2t +\u003d $H2{$k}; if ($H2{$k} \u003c 5) { $H2{\"OTHER\"} +\u003d $H2{$k}; delete $H2{$k} }} print \"BY PID:\\n\", Dumper(\\%H2), \"TOTAL: $tot\\n\"}\u0027\nBY PID:\n$VAR1 \u003d {\n          \u002759007\u0027 \u003d\u003e 27,\n          \u002759003\u0027 \u003d\u003e 31,\n          \u002758998\u0027 \u003d\u003e 27,\n          \u002759006\u0027 \u003d\u003e 12,\n          \u002759020\u0027 \u003d\u003e 13,\n          \u002759017\u0027 \u003d\u003e 25,\n          \u002758993\u0027 \u003d\u003e 23,\n          \u002759021\u0027 \u003d\u003e 13,\n          \u002759016\u0027 \u003d\u003e 19,\n          \u002759004\u0027 \u003d\u003e 17,\n          \u002759015\u0027 \u003d\u003e 22,\n          \u002759001\u0027 \u003d\u003e 29,\n          \u002759019\u0027 \u003d\u003e 18,\n          \u002759018\u0027 \u003d\u003e 27,\n          \u002759000\u0027 \u003d\u003e 24,\n          \u002758995\u0027 \u003d\u003e 31,\n          \u002758994\u0027 \u003d\u003e 16,\n          \u002759009\u0027 \u003d\u003e 170,\n          \u002758991\u0027 \u003d\u003e 22,\n          \u002758999\u0027 \u003d\u003e 33,\n          \u002758996\u0027 \u003d\u003e 9,\n          \u002758997\u0027 \u003d\u003e 12,\n          \u002759008\u0027 \u003d\u003e 20,\n          \u002759012\u0027 \u003d\u003e 20,\n        };\nTOTAL: 1320\n\n(With a bit of manual filtering to only include proxy-server pids.) Note 59009 in particular. After:\n\n$ sudo netstat -antulp | grep -E \u0027Proto|8080.*ESTAB\u0027| perl -MData::Dumper -ne \u0027if (/\\s+(\\S+):\\d+\\s+ESTABLISHED (\\d+)/) { $H{$1}++; $H2{$2}++ }; END { foreach $k (keys %H) { $tot +\u003d $H{$k}; if ($H{$k} \u003c 10) { $H{\"OTHER\"} +\u003d $H{$k}; delete $H{$k} }}; foreach $k (keys %H2) { $tot2t +\u003d $H2{$k}; if ($H2{$k} \u003c 5) { $H2{\"OTHER\"} +\u003d $H2{$k}; delete $H2{$k} }} print \"BY PID:\\n\", Dumper(\\%H2), \"TOTAL: $tot\\n\"}\u0027\nBY PID:\n$VAR1 \u003d {\n          \u0027221717\u0027 \u003d\u003e 22,\n          \u0027222502\u0027 \u003d\u003e 31,\n          \u0027222519\u0027 \u003d\u003e 31,\n          \u0027221781\u0027 \u003d\u003e 28,\n          \u0027222018\u0027 \u003d\u003e 26,\n          \u0027222656\u0027 \u003d\u003e 36,\n          \u0027222463\u0027 \u003d\u003e 34,\n          \u0027222501\u0027 \u003d\u003e 27,\n          \u0027222654\u0027 \u003d\u003e 21,\n          \u0027222514\u0027 \u003d\u003e 35,\n          \u0027222256\u0027 \u003d\u003e 20,\n          \u0027222144\u0027 \u003d\u003e 37,\n          \u0027222655\u0027 \u003d\u003e 22,\n          \u0027222512\u0027 \u003d\u003e 15,\n          \u0027222199\u0027 \u003d\u003e 24,\n          \u0027221845\u0027 \u003d\u003e 24,\n          \u0027221729\u0027 \u003d\u003e 28,\n          \u0027222324\u0027 \u003d\u003e 21,\n          \u0027221902\u0027 \u003d\u003e 35,\n          \u0027222085\u0027 \u003d\u003e 28,\n          \u0027221947\u0027 \u003d\u003e 22,\n          \u0027222409\u0027 \u003d\u003e 39,\n          \u0027221718\u0027 \u003d\u003e 33,\n          \u0027222369\u0027 \u003d\u003e 27,\n        };\nTOTAL: 1332","accounts_in_message":[],"_revision_number":3},{"id":"d044a61055415d1440fe4dfac8c2b492c4ba0773","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-08-21 04:00:42.000000000","message":"Patch Set 3: Code-Review-1 Workflow-1\n\n(1 comment)\n\nLooks like I might need those changes to utils.py after all. `kill -TERM`ing a worker doesn\u0027t end well:\n\nAug 21 03:54:37 saio object-6030: Removing dead child 13474 from parent 13317\nAug 21 03:54:37 saio object-6030: UNCAUGHT EXCEPTION\nTraceback (most recent call last):\n  File \"/usr/local/bin/swift-object-server\", line 7, in \u003cmodule\u003e\n    exec(compile(f.read(), __file__, \u0027exec\u0027))\n  File \"/vagrant/swift/bin/swift-object-server\", line 27, in \u003cmodule\u003e\n    **options))\n  File \"/vagrant/swift/swift/common/wsgi.py\", line 1116, in run_wsgi\n    strategy.post_fork_hook()\n  File \"/vagrant/swift/swift/common/wsgi.py\", line 710, in post_fork_hook\n    capture_stdio(self.logger)\n  File \"/vagrant/swift/swift/common/utils.py\", line 2513, in capture_stdio\n    stdio_files \u003d [f for f in stdio_files if f.fileno() not in console_fds]\n  File \"/vagrant/swift/swift/common/utils.py\", line 2513, in \u003clistcomp\u003e\n    stdio_files \u003d [f for f in stdio_files if f.fileno() not in console_fds]\nAttributeError: \u0027LoggerFileObject\u0027 object has no attribute \u0027fileno\u0027\nAug 21 03:54:37 saio object-6030: UNCAUGHT EXCEPTION\nTraceback (most recent call last):\n  File \"/usr/local/bin/swift-object-server\", line 7, in \u003cmodule\u003e\n    exec(compile(f.read(), __file__, \u0027exec\u0027))\n  File \"/vagrant/swift/bin/swift-object-server\", line 27, in \u003cmodule\u003e\n    **options))\n  File \"/vagrant/swift/swift/common/wsgi.py\", line 1136, in run_wsgi\n    \u0027worker did not start normally: %r\u0027 % worker_status)\nException: worker did not start normally: b\u0027\u0027\n\nWork distribution still looks good, though!","accounts_in_message":[],"_revision_number":3},{"id":"f82b2fdc283a00837bbbbc60912f78305bad0d44","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-08-21 05:08:03.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"7c866cfec5117c3f10d0908565101283cb9943bc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-21 06:08:19.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7ce586837c7649218bd5f5cb942ce5e9 : SUCCESS in 9m 10s\n- grenade https://zuul.opendev.org/t/openstack/build/f9f97e119dcc4200b55927a04649d377 : SUCCESS in 58m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/67a49b2be44641dfac831f4b5a2b44e4 : SUCCESS in 41m 19s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/396c8de6b5854332b09c314471855cca : SUCCESS in 9m 21s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/b6f0e1b2774647eabe9710ac85a4da57 : SUCCESS in 9m 16s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/e195bad006c24e0e960a11347b773776 : SUCCESS in 13m 26s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/b77b950641014f0093548a5687601317 : SUCCESS in 13m 28s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/bd8dfa054a10461a976b798a7b47d0e5 : SUCCESS in 27m 56s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/e540ebdd381d46d3b305bddec468f4c0 : SUCCESS in 13m 10s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/40909b8e33bb4b9eb24cfb19c3785132 : SUCCESS in 17m 23s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/e2ac3dbba1324a61aff5584d655896b3 : SUCCESS in 17m 54s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/53db9c18bf0348e6807d628731f798d7 : SUCCESS in 21m 45s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/c03e1e23ce4845df9f3688b443f550bc : SUCCESS in 18m 15s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/7ed66eef961743d689b50dfe9fe30e87 : SUCCESS in 35m 58s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/afa5ca2436c4441c9cbffb938d1b155e : SUCCESS in 18m 11s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e9f9c14015464644882ce4848bae1d53 : SUCCESS in 33m 46s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/cb80c15ab56645119e499059459d14c5 : SUCCESS in 51m 04s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/4f0ea1cee37f43f0a38e135e5f6a302c : SUCCESS in 41m 41s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/89230b229065487ab86364c96c398724 : SUCCESS in 42m 48s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ff60ac22dccb4d01821bdd336d913ad9 : SUCCESS in 27m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/55323a3dc63b4347ab1faf66ed4efe79 : SUCCESS in 5m 16s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ad03eafb691346a193d6b92ef56d75c6 : FAILURE in 8m 03s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1819a6a7dcc445ea9d686c6f850dad81 : SUCCESS in 54m 14s","accounts_in_message":[],"_revision_number":4},{"id":"cf5fec2bc84f1b9220337c4448477cca2eb9b4d5","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2020-08-25 22:37:36.000000000","message":"Patch Set 4: Code-Review+2\n\n(38 comments)\n\nok, it only took most of a day but I really feel like I understand this code!  (sorry for all the comments)\n\nMy understanding of the motivation of the change is this is something we will HAVE to do.  Moreover *this* change (as-is) seems to get the job done!  It\u0027s certainly not not horribly broken in the \"did you even run this\" sense.  I even had a few WTF moments that eventually became clear the code is already doing the right thing - I have a suspicion it\u0027s fairly robust as well effective!    Never-the-less I\u0027m not I\u0027m not quite ready to be the sole +A\n\nFirst, I haven\u0027t looked at tests (gotta cook dinner).  Also there\u0027s two behaviors I\u0027d like to test functionally:\n\n1) how did we and now how do we fail when trying to bind to privileged ports when starting as an unprivileged user (particularly in the proxy worker strategy more so than someone putting port 80 in their rings)\n\n2) how does the multi-worker ready pipe signaling behave with LOTS of workers (esp if we artificially make some of them slow or break the write(\u0027ready\u0027) into multiple calls because I forget what sort of guarantees pipes have a about transmission and read length and flush and close\n\nBeyond that I have some nagging itch that we might be able to forget about sockets after we hand them off to workers and simplify some bookkeepping.\n\nBut none of these questions should be considered blockers, I\u0027ll keep chugging at it.  I know Tim has already run this in some production contexts - I don\u0027t want to hold up the show.  In fact getting rid of PortPidState might be worth merging it just in principle!","accounts_in_message":[],"_revision_number":4},{"id":"9a3ede5535b0824fff2216e075cdfe9b569bac2d","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-08-25 23:32:01.000000000","message":"Patch Set 4:\n\n(17 comments)\n\nI might try a respin that keeps do_bind_ports around... and re-use sockets for respawned children...","accounts_in_message":[],"_revision_number":4},{"id":"64ee8c612eca9a6245775795130629678427d805","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2020-08-26 19:33:19.000000000","message":"Patch Set 4:\n\n(4 comments)\n\nOk, I don\u0027t have any reservations on this anymore\n\nwe\u0027re doing all the socket validation stuff before we close stdio\n\ni was just confused about the pipe-per-worker; that stuff is solid (and fast).\n\nI was gunna +A but I see it\u0027s on todays meeting; so i\u0027ll just wait till then.\n\nNICE WORK TIM!","accounts_in_message":[],"_revision_number":4},{"id":"902d9dc0d3500378c374a3da45afe3424d3de2b1","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-09-02 18:15:45.000000000","message":"Patch Set 4:\n\n(1 comment)\n\nSo looking ahead to something like https://review.opendev.org/#/c/748721/, maybe we *do* want to keep do_bind_ports...","accounts_in_message":[],"_revision_number":4},{"id":"bdad72810d9adb60252a265c4b3bc0ca21ba74c8","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2020-09-02 21:34:18.000000000","message":"Patch Set 4: Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"d8c62d52e428edfb9720b1ba966a181efb9274f1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-02 21:35:02.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"3b5f9aed6447a5509d2a9bca715c63c7f8782a8e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-03 01:59:12.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/61cfa7a13620435aabea2410aea41f9b : SUCCESS in 9m 48s\n- grenade https://zuul.opendev.org/t/openstack/build/2af79e4b50aa43bcaecfc35a411db8e6 : SUCCESS in 52m 40s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/06f586ae78fa44569d19240ebf686210 : SUCCESS in 46m 48s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/dafabd838d444268b7f1cee66b4966f5 : SUCCESS in 11m 46s (non-voting)\n- swift-upload-image-py3 https://zuul.opendev.org/t/openstack/build/ab03dfd297c54bec8cf4f8ff85f3264b : SUCCESS in 10m 44s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/3e894464c9494967895e28111a940fda : SUCCESS in 14m 50s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/a9650d789fe748cea04ebd9acbf0dc70 : SUCCESS in 13m 31s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/57f27ee8ff9a4f2c9aa54be98c8f4187 : SUCCESS in 13m 58s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/0e9bd20784394496ab4368f7abba8a3f : SUCCESS in 13m 58s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/9c5ac7a566bf465bace309a4b8aeb8c7 : SUCCESS in 17m 08s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/3304d8d0aa6f4a26b73d4355c7f3bd79 : SUCCESS in 21m 10s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/e85bfa9d5fb0401f8368174354d60066 : SUCCESS in 17m 56s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/dd72859544074207876f3216aa8210e6 : SUCCESS in 18m 49s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/f385c0ac949a40108afb51086fe65af3 : SUCCESS in 21m 02s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/b716e2607e294f1cb5ec2965aef5f225 : SUCCESS in 39m 59s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e54de9a48f7542f8a749af8800650f21 : SUCCESS in 38m 58s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/9f835c7746354d809fc72bd161e43ceb : SUCCESS in 45m 07s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fd7f61bfd29d473c800e5ca55c6a5dff : SUCCESS in 18m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1c617ceaed7045d5b089da3be4f513a4 : SUCCESS in 7m 12s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c0b7ff9339f840b5a70a371a223254ac : SUCCESS in 53m 12s","accounts_in_message":[],"_revision_number":4},{"id":"95a357c169716eb483ce38fb4329b0112bcf382e","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-03 01:59:13.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":4},{"id":"be8330dde468340bb8bd964bd1c8fb06dd3513a5","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-03 02:01:31.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7b957109c76446fc8cdfad606d129ac0 : SUCCESS in 1m 18s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/73e351e269e04e9fb21c23e68b2a8488 : SUCCESS in 44s (non-voting)\n- swift-promote-image-py3 https://zuul.opendev.org/t/openstack/build/f744f765583a4a00afacbc0a87400e51 : SUCCESS in 45s (non-voting)","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"452db14a0929cde71edd0a240655dd763d3bcbf2","revisions":{"4a5bbdbdafaf5493f708b185afed85f6ff08f49f":{"kind":"REWORK","_number":1,"created":"2020-08-10 23:18:41.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/03/745603/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/03/745603/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/03/745603/1"}}},"commit":{"parents":[{"commit":"d50b50ba8d28eab544b7236cb1d786c16e20f080","subject":"Merge \"Address a sharder/replicator race\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d50b50ba8d28eab544b7236cb1d786c16e20f080"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-08-10 17:54:25.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-08-10 22:46:42.000000000","tz":-420},"subject":"WIP: Bind a new socket per-worker","message":"WIP: Bind a new socket per-worker\n\nWe\u0027ve seen lumpy distributions of requests to workers, which seems to\nparallel what projects have seen [0][1].\n\nThe solution (as best we can tell) is to take advantage of the\nSO_REUSEPORT that eventlet\u0027s been setting for us since basically\nforever [2].\n\n[0] https://lwn.net/Articles/542629/\n[1] https://github.com/varnish/hitch/issues/142\n[2] https://github.com/eventlet/eventlet/commit/f9a3074a3\n\nChange-Id: I83cdaa2cbd394cbd49609c65bf9c5ed026c55417\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4a5bbdbdafaf5493f708b185afed85f6ff08f49f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4a5bbdbdafaf5493f708b185afed85f6ff08f49f"}]},"branch":"refs/heads/master"},"e94c4efa510c162ea424fa4cccf0b50efbc92518":{"kind":"REWORK","_number":2,"created":"2020-08-11 04:57:41.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/03/745603/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/03/745603/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/03/745603/2"}}},"commit":{"parents":[{"commit":"d50b50ba8d28eab544b7236cb1d786c16e20f080","subject":"Merge \"Address a sharder/replicator race\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d50b50ba8d28eab544b7236cb1d786c16e20f080"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-08-10 17:54:25.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-08-11 04:57:03.000000000","tz":-420},"subject":"WIP: Bind a new socket per-worker","message":"WIP: Bind a new socket per-worker\n\nWe\u0027ve seen lumpy distributions of requests to workers, which seems to\nparallel what projects have seen [0][1].\n\nThe solution (as best we can tell) is to take advantage of the\nSO_REUSEPORT that eventlet\u0027s been setting for us since basically\nforever [2].\n\n[0] https://lwn.net/Articles/542629/\n[1] https://github.com/varnish/hitch/issues/142\n[2] https://github.com/eventlet/eventlet/commit/f9a3074a3\n\nChange-Id: I83cdaa2cbd394cbd49609c65bf9c5ed026c55417\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e94c4efa510c162ea424fa4cccf0b50efbc92518"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e94c4efa510c162ea424fa4cccf0b50efbc92518"}]},"branch":"refs/heads/master"},"4f17e52b4fb66dec48bf0883a8cdb04712d4019c":{"kind":"REWORK","_number":3,"created":"2020-08-11 22:38:34.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/03/745603/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/03/745603/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/03/745603/3"}}},"commit":{"parents":[{"commit":"d50b50ba8d28eab544b7236cb1d786c16e20f080","subject":"Merge \"Address a sharder/replicator race\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d50b50ba8d28eab544b7236cb1d786c16e20f080"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-08-10 17:54:25.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-08-11 22:33:57.000000000","tz":-420},"subject":"Bind a new socket per-worker","message":"Bind a new socket per-worker\n\nWe\u0027ve seen lumpy distributions of requests to workers, which seems to\nparallel what some other projects have seen [0][1].\n\nThe solution (as best we can tell) is to take advantage of the\nSO_REUSEPORT that eventlet\u0027s been setting for us since basically\nforever [2].\n\n[0] https://lwn.net/Articles/542629/\n[1] https://github.com/varnish/hitch/issues/142\n[2] https://github.com/eventlet/eventlet/commit/f9a3074a3\n\nChange-Id: I83cdaa2cbd394cbd49609c65bf9c5ed026c55417\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4f17e52b4fb66dec48bf0883a8cdb04712d4019c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4f17e52b4fb66dec48bf0883a8cdb04712d4019c"}]},"branch":"refs/heads/master"},"452db14a0929cde71edd0a240655dd763d3bcbf2":{"kind":"REWORK","_number":4,"created":"2020-08-21 05:08:03.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/03/745603/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/03/745603/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/03/745603/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/03/745603/4"}}},"commit":{"parents":[{"commit":"d50b50ba8d28eab544b7236cb1d786c16e20f080","subject":"Merge \"Address a sharder/replicator race\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d50b50ba8d28eab544b7236cb1d786c16e20f080"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-08-10 17:54:25.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-08-21 04:03:37.000000000","tz":-420},"subject":"Bind a new socket per-worker","message":"Bind a new socket per-worker\n\nWe\u0027ve seen lumpy distributions of requests to workers, which seems to\nparallel what some other projects have seen [0][1].\n\nThe solution (as best we can tell) is to take advantage of the\nSO_REUSEPORT that eventlet\u0027s been setting for us since basically\nforever [2].\n\n[0] https://lwn.net/Articles/542629/\n[1] https://github.com/varnish/hitch/issues/142\n[2] https://github.com/eventlet/eventlet/commit/f9a3074a3\n\nChange-Id: I83cdaa2cbd394cbd49609c65bf9c5ed026c55417\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/452db14a0929cde71edd0a240655dd763d3bcbf2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/452db14a0929cde71edd0a240655dd763d3bcbf2"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
