)]}'
{"id":"openstack%2Fneutron~806325","triplet_id":"openstack%2Fneutron~master~I31bbe1e8a8891dfdfb06e78dbe03aecfbc419214","project":"openstack/neutron","branch":"master","topic":"less-locking","attention_set":{},"removed_from_attention_set":{"9542":{"account":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"last_update":"2021-10-14 16:13:53.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I31bbe1e8a8891dfdfb06e78dbe03aecfbc419214","subject":"Do less locking on l3 agent greenpool resize","status":"ABANDONED","created":"2021-08-27 07:36:24.000000000","updated":"2021-10-14 16:13:53.000000000","total_comment_count":3,"unresolved_comment_count":3,"has_review_started":true,"meta_rev_id":"63bf6a6d7b9c0091e60d8738ed3a9dc8c46a9b89","_number":806325,"virtual_id_number":806325,"owner":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":9845,"name":"Arista CI","email":"arista-openstack-test@aristanetworks.com","username":"arista-test","tags":["SERVICE_USER"]},"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":1,"date":"2021-08-29 11:15:27.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":9845,"name":"Arista CI","email":"arista-openstack-test@aristanetworks.com","username":"arista-test","tags":["SERVICE_USER"]},{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2021-08-27 09:30:20.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"disliked":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"all":[{"value":-1,"date":"2021-08-27 07:49:37.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9845,"name":"Arista CI","email":"arista-openstack-test@aristanetworks.com","username":"arista-test","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"value":-1,"date":"2021-08-27 08:37:58.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},{"value":1,"date":"2021-08-31 14:38:54.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"_account_id":9845,"name":"Arista CI","email":"arista-openstack-test@aristanetworks.com","username":"arista-test","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":2},"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"_account_id":9845,"name":"Arista CI","email":"arista-openstack-test@aristanetworks.com","username":"arista-test","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":2},"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},{"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"}],"REVIEWER":[{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},{"_account_id":9845,"name":"Arista CI","email":"arista-openstack-test@aristanetworks.com","username":"arista-test","tags":["SERVICE_USER"]},{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-08-27 07:49:37.000000000","updated_by":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"reviewer":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"state":"REVIEWER"},{"updated":"2021-08-27 08:23:18.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":"CC"},{"updated":"2021-08-27 08:37:58.000000000","updated_by":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"reviewer":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"state":"REVIEWER"},{"updated":"2021-08-27 08:43:12.000000000","updated_by":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"reviewer":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2021-08-27 09:25:45.000000000","updated_by":{"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"},"reviewer":{"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"},"state":"CC"},{"updated":"2021-08-27 09:30:20.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-08-27 14:26:28.000000000","updated_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"reviewer":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"state":"REVIEWER"},{"updated":"2021-08-29 11:15:27.000000000","updated_by":{"_account_id":9845,"name":"Arista CI","email":"arista-openstack-test@aristanetworks.com","username":"arista-test","tags":["SERVICE_USER"]},"reviewer":{"_account_id":9845,"name":"Arista CI","email":"arista-openstack-test@aristanetworks.com","username":"arista-test","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2021-08-31 14:38:54.000000000","updated_by":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"reviewer":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"state":"REVIEWER"},{"updated":"2021-10-14 16:13:53.000000000","updated_by":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"reviewer":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"state":"CC"}],"messages":[{"id":"62c786e45bd509e8393a7ee105472cfd41b87911","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2021-08-27 07:36:24.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"26013566c5452c7cb1d6754604c6db1c7984e198","author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"date":"2021-08-27 07:49:37.000000000","message":"Patch Set 1: Code-Review-1\n\nIn CPython, threads (OS threads, green threads) are *never* executed in parallel. And when using green threads, that are not preemptive, we know that this thread will have the Python GIL until this thread actively release it; that means we know the method will be completely executed without interruption.\n\nWith green threads, we don\u0027t have competing threads waiting for other threads locks. And if we switch to OS threads, the current implementation will ensure the pool size is correctly calculated.","accounts_in_message":[],"_revision_number":1},{"id":"a985d7b238e27c2b9dddbefda64e94dbcb0b2664","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2021-08-27 08:22:45.000000000","message":"Patch Set 1:\n\n\u003e Patch Set 1: Code-Review-1\n\u003e \n\u003e In CPython, threads (OS threads, green threads) are *never* executed in parallel. And when using green threads, that are not preemptive, we know that this thread will have the Python GIL until this thread actively release it; that means we know the method will be completely executed without interruption.\n\u003e \n\u003e With green threads, we don\u0027t have competing threads waiting for other threads locks. And if we switch to OS threads, the current implementation will ensure the pool size is correctly calculated.\n\nI see the main problem in the locking. Adding or deleting each router calls to _pool_resize that first tries to grab the syncronized lock regardless of whether the pool will be actually resized or not. Here\u0027s a part of Guru Meditation report (from Queens) during l3 agent doing full sync of ~300 routers.\n\n  ------                        Green Thread                        ------\n\n/var/lib/openstack/lib/python2.7/site-packages/eventlet/greenthread.py:214 in main\n    `result \u003d function(*args, **kwargs)`\n\n/var/lib/openstack/lib/python2.7/site-packages/oslo_concurrency/lockutils.py:267 in inner\n    `do_log\u003dFalse, semaphores\u003dsemaphores, delay\u003ddelay):`\n\n/usr/lib/python2.7/contextlib.py:17 in __enter__\n    `return self.gen.next()`\n\n/var/lib/openstack/lib/python2.7/site-packages/oslo_concurrency/lockutils.py:210 in lock\n    `with int_lock:`\n\n/usr/lib/python2.7/threading.py:468 in acquire\n    `self.__cond.wait()`\n\n/usr/lib/python2.7/threading.py:340 in wait\n    `waiter.acquire()`\n\n/var/lib/openstack/lib/python2.7/site-packages/eventlet/semaphore.py:113 in acquire\n    `hubs.get_hub().switch()`\n\n/var/lib/openstack/lib/python2.7/site-packages/eventlet/hubs/hub.py:294 in switch\n    `return self.greenlet.switch()`\n\nand I have about 900 of those :-/","accounts_in_message":[],"_revision_number":1},{"id":"73c4c4136ec471cef0c8db8b56906c500627fa73","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-27 08:23:18.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/f3b62db5779947229dd88de3e6b3cddc : SUCCESS in 44m 45s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/befc088a8c3148cf9af91fe4fe8b49c9 : SUCCESS in 44m 30s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"53ae8ca0f4d8f727569e70d98f404312a94519bd","author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"date":"2021-08-27 08:37:58.000000000","message":"Patch Set 1: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"1244d938180a2a89b1374576802910db655e0936","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"date":"2021-08-27 08:43:12.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* SRIOV-neutron-macvtap http://13.74.249.42/refs/changes/25/806325/1/SRIOV-neutron-macvtap : SUCCESS\n\n* SRIOV-neutron-direct http://13.74.249.42/refs/changes/25/806325/1/SRIOV-neutron-direct : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"54a9bc8539d137c04fc408ee6c121be7b73a448f","tag":"autogenerated:cloudbase-ci","author":{"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"},"date":"2021-08-27 09:25:45.000000000","message":"Patch Set 1:\n\nBuild succeeded.\n\n- neutron http://cloudbase-ci.com/neutron/806325/1 : SUCCESS in 1h 48m 43s","accounts_in_message":[],"_revision_number":1},{"id":"3722ca6b2f154f5a56e0444b25fe8f6120bfca8b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-27 09:30:20.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- neutron-tempest-plugin-scenario-linuxbridge https://zuul.opendev.org/t/openstack/build/918197bdd8334ba78ac7d1ea26b735ee : SUCCESS in 1h 49m 36s\n- neutron-tempest-plugin-scenario-openvswitch https://zuul.opendev.org/t/openstack/build/b214f4a1958841e390e552280ef94b3d : SUCCESS in 1h 42m 17s\n- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid https://zuul.opendev.org/t/openstack/build/6243d49c228449c4824c744356a5b970 : SUCCESS in 1h 22m 13s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/deed92c6c16c4f90af535b4173b6f37f : SUCCESS in 34m 27s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c5621db424e640b7ba62ceb7d4898c67 : SUCCESS in 41m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bf65c6da1b40465d800193d86404f40b : SUCCESS in 15m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/12f3689fed3e4a6693eb9b9c9a6596a9 : SUCCESS in 26m 06s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/47c68154495747a0b9aab3dc3088c5de : SUCCESS in 23m 46s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/f6e3e87b799941e689daf1000e2a8955 : SUCCESS in 23m 49s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0d6f19889d334f30ab1c516a132438c2 : SUCCESS in 11m 17s\n- neutron-functional-with-uwsgi https://zuul.opendev.org/t/openstack/build/e2faa871f75d48e0950f941b9639d5d3 : SUCCESS in 56m 15s\n- neutron-fullstack-with-uwsgi https://zuul.opendev.org/t/openstack/build/09ff3ee8ec7f46d4a59779117f8d991c : FAILURE in 1h 32m 18s\n- neutron-ovs-rally-task https://zuul.opendev.org/t/openstack/build/40b8ce2504784b27805f7fe9a59336b1 : SUCCESS in 1h 08m 00s\n- neutron-ovs-grenade-multinode https://zuul.opendev.org/t/openstack/build/073e30986361465581a856bacf13b677 : SUCCESS in 1h 03m 18s\n- neutron-ovs-grenade-dvr-multinode https://zuul.opendev.org/t/openstack/build/d306814d1b0d45548fcf119c7c782fb0 : SUCCESS in 1h 00m 43s (non-voting)\n- neutron-ovs-tempest-multinode-full https://zuul.opendev.org/t/openstack/build/b851d2f21dbd4cd6983784bddb3deedb : SUCCESS in 1h 08m 39s\n- neutron-ovs-tempest-dvr-ha-multinode-full https://zuul.opendev.org/t/openstack/build/29dfb77935764aedb7f9e0866d75eefe : SUCCESS in 1h 14m 31s\n- neutron-ovs-tempest-slow https://zuul.opendev.org/t/openstack/build/b4627ea5aad94f48b62b52feebd71b63 : SUCCESS in 1h 44m 02s\n- neutron-ovn-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1f0faf9371e34d839f370874fee2eaee : SUCCESS in 51m 42s","accounts_in_message":[],"_revision_number":1},{"id":"c988b61353c5cfbdfa59cce0ce86edf07862297f","author":{"_account_id":9845,"name":"Arista CI","email":"arista-openstack-test@aristanetworks.com","username":"arista-test","tags":["SERVICE_USER"]},"date":"2021-08-29 11:15:27.000000000","message":"Patch Set 1: Verified+1\n\nArista third party testing PASSED [ https://arista-openstack-ci.arista.com:8000/August-2021/Arista_Tempest_Testrefs/changes/25/806325/1 ]\n\nFor testing details or any questions please check https://wiki.openstack.org/wiki/Arista-third-party-testing","accounts_in_message":[],"_revision_number":1},{"id":"48431a6976a5be70a5a0e643aec64e56226a2c6d","author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"date":"2021-08-31 14:38:54.000000000","message":"Patch Set 1: Code-Review+1\n\nLGTM to avoid needless locks","accounts_in_message":[],"_revision_number":1},{"id":"2644c561a6325a494b91e89f5973c6c179b80590","author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"date":"2021-08-31 14:40:02.000000000","message":"Patch Set 1:\n\n+1 as I agree we better have a bug with problem description","accounts_in_message":[],"_revision_number":1},{"id":"63bf6a6d7b9c0091e60d8738ed3a9dc8c46a9b89","tag":"autogenerated:gerrit:abandon","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2021-10-14 16:13:53.000000000","message":"Abandoned\n\nThis review is \u003e 4 weeks without comment, and failed Zuul jobs the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a \u0027recheck\u0027 comment to get fresh test results.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"05162fce3e994907c526c451fb8dd975e2fb74d5","revisions":{"05162fce3e994907c526c451fb8dd975e2fb74d5":{"kind":"REWORK","_number":1,"created":"2021-08-27 07:36:24.000000000","uploader":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"ref":"refs/changes/25/806325/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/neutron","ref":"refs/changes/25/806325/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/neutron refs/changes/25/806325/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/neutron refs/changes/25/806325/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/neutron refs/changes/25/806325/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/neutron refs/changes/25/806325/1"}}},"commit":{"parents":[{"commit":"701214481ff1df13b188d7826b44a1c8b51227ea","subject":"Use more pythonic approach","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/701214481ff1df13b188d7826b44a1c8b51227ea"}]}],"author":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2021-08-27 07:06:34.000000000","tz":180},"committer":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2021-08-27 07:32:32.000000000","tz":180},"subject":"Do less locking on l3 agent greenpool resize","message":"Do less locking on l3 agent greenpool resize\n\ncurrently each pool resize attempt tries to grab a syncronized lock,\neven if it will actually do not resize the pool in the end.\n\nDue to this, when max pool size is reached, agent may spawn many\ngreenthreads that all at once are trying to grab the lock, hogging\nresources, which is particularly noticible on full sync of large enough\nnumber of routers.\n\nThis patch does attempt to grab the lock only if the pool is actually\ngoing to be resized.\n\nChange-Id: I31bbe1e8a8891dfdfb06e78dbe03aecfbc419214\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/05162fce3e994907c526c451fb8dd975e2fb74d5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/05162fce3e994907c526c451fb8dd975e2fb74d5"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
