)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"63664c66dc6640cb61d578b6efefc9eb3ebb0add","unresolved":true,"context_lines":[{"line_number":23,"context_line":"During testing without the patch, the iteration time for deletion"},{"line_number":24,"context_line":"was at around 500 seconds. After adding the patch to the l2 agent"},{"line_number":25,"context_line":"on the test environment the same deletion time went down to"},{"line_number":26,"context_line":"4 seconds."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Closes-Bug: #1975674"},{"line_number":29,"context_line":"Change-Id: I46b1fe94b2e358f7f4b2cd4943a74ebaf84f51b8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bec5eda6_bac68c83","line":26,"updated":"2022-05-26 12:49:55.000000000","message":"Wow, that\u0027s huge perf improvement with small change :) Great catch!","commit_id":"969dd0fc74a618924ffb7fe6d1581bd731638abb"},{"author":{"_account_id":34915,"name":"Henning Eggers","email":"henning@eggers.name","username":"henninge"},"change_message_id":"f6fe2c4be101476db5ce1b462e922391e5d7603e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"During testing without the patch, the iteration time for deletion"},{"line_number":24,"context_line":"was at around 500 seconds. After adding the patch to the l2 agent"},{"line_number":25,"context_line":"on the test environment the same deletion time went down to"},{"line_number":26,"context_line":"4 seconds."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Closes-Bug: #1975674"},{"line_number":29,"context_line":"Change-Id: I46b1fe94b2e358f7f4b2cd4943a74ebaf84f51b8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"268b0eb7_890a732f","line":26,"in_reply_to":"bec5eda6_bac68c83","updated":"2022-05-30 08:13:34.000000000","message":"Thank you! I\u0027ll pass that on as this was team effort. I just happen to be the guy with the LP account.","commit_id":"969dd0fc74a618924ffb7fe6d1581bd731638abb"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"242236cc86625cefcd2a4f318edf656a059bcea3","unresolved":true,"context_lines":[{"line_number":20,"context_line":"vm with a security group that points to a remote security group"},{"line_number":21,"context_line":"with 2000 ports."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"During testing without the patch, the iteration time for deletion"},{"line_number":24,"context_line":"was at around 500 seconds. After adding the patch to the l2 agent"},{"line_number":25,"context_line":"on the test environment the same deletion time went down to"},{"line_number":26,"context_line":"4 seconds."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Closes-Bug: #1975674"},{"line_number":29,"context_line":"Change-Id: I46b1fe94b2e358f7f4b2cd4943a74ebaf84f51b8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"d3212d57_f5c89c5a","line":26,"range":{"start_line":23,"start_character":0,"end_line":26,"end_character":10},"updated":"2022-05-30 12:05:15.000000000","message":"nice numbers","commit_id":"e09b128f416a809cd7734aba8ab52220ea01b2e2"},{"author":{"_account_id":34915,"name":"Henning Eggers","email":"henning@eggers.name","username":"henninge"},"change_message_id":"86216111bb95dacafbd0fa27b4432892c3e45cf6","unresolved":false,"context_lines":[{"line_number":20,"context_line":"vm with a security group that points to a remote security group"},{"line_number":21,"context_line":"with 2000 ports."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"During testing without the patch, the iteration time for deletion"},{"line_number":24,"context_line":"was at around 500 seconds. After adding the patch to the l2 agent"},{"line_number":25,"context_line":"on the test environment the same deletion time went down to"},{"line_number":26,"context_line":"4 seconds."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Closes-Bug: #1975674"},{"line_number":29,"context_line":"Change-Id: I46b1fe94b2e358f7f4b2cd4943a74ebaf84f51b8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"b76c6824_33c9433f","line":26,"range":{"start_line":23,"start_character":0,"end_line":26,"end_character":10},"in_reply_to":"d3212d57_f5c89c5a","updated":"2022-06-08 11:26:52.000000000","message":"Yeah, we were glad to get the delay down that much 😄","commit_id":"e09b128f416a809cd7734aba8ab52220ea01b2e2"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":34915,"name":"Henning Eggers","email":"henning@eggers.name","username":"henninge"},"change_message_id":"7b3970cc051ba56597159b5bb1b344bf9044a7b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"05ba61a9_da0311a2","updated":"2022-05-25 11:43:41.000000000","message":"recheck","commit_id":"969dd0fc74a618924ffb7fe6d1581bd731638abb"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"276046e3182f15d2dc89752f3aa823970a61d0ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"129ec680_e4574b3e","updated":"2022-05-31 14:46:43.000000000","message":"LGTM, and good to see the test results.","commit_id":"e09b128f416a809cd7734aba8ab52220ea01b2e2"}],"neutron/agent/linux/openvswitch_firewall/firewall.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2fbc47dd10a95a315bdd359ad90f0e0e739c201c","unresolved":true,"context_lines":[{"line_number":1639,"context_line":"            flow[\u0027cookie\u0027] \u003d ovs_lib.COOKIE_ANY"},{"line_number":1640,"context_line":"            # NOTE(henninge) Deferring flow deletion turns it into a bulk"},{"line_number":1641,"context_line":"            # operation which is faster when many flows need to be deleted."},{"line_number":1642,"context_line":"            self._delete_flows(deferred\u003dTrue, **flow)"}],"source_content_type":"text/x-python","patch_set":1,"id":"4adb0ea5_31216636","line":1642,"range":{"start_line":1642,"start_character":31,"end_line":1642,"end_character":39},"updated":"2022-05-26 07:40:39.000000000","message":"I need to remember why I explicitly defined this command with deferred\u003dTrue.\n\nIn any case, you don\u0027t need to set this value to True, just remove it.","commit_id":"969dd0fc74a618924ffb7fe6d1581bd731638abb"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"242236cc86625cefcd2a4f318edf656a059bcea3","unresolved":true,"context_lines":[{"line_number":1639,"context_line":"            flow[\u0027cookie\u0027] \u003d ovs_lib.COOKIE_ANY"},{"line_number":1640,"context_line":"            # NOTE(henninge) Deferring flow deletion turns it into a bulk"},{"line_number":1641,"context_line":"            # operation which is faster when many flows need to be deleted."},{"line_number":1642,"context_line":"            self._delete_flows(deferred\u003dTrue, **flow)"}],"source_content_type":"text/x-python","patch_set":1,"id":"59b66e07_05658f2f","line":1642,"range":{"start_line":1642,"start_character":31,"end_line":1642,"end_character":39},"in_reply_to":"4286ffe1_6a2d4495","updated":"2022-05-30 12:05:15.000000000","message":"deferred bridge code is here with a good comment:\nhttps://opendev.org/openstack/neutron/src/branch/master/neutron/agent/common/ovs_lib.py#L1234\n\nWithout brain surgeon degree, I can just tip but bulk call sounds good enough to use that instead of \"simple\" delete_flows (see https://opendev.org/openstack/neutron/src/branch/master/neutron/agent/linux/openvswitch_firewall/firewall.py#L621-L627 )","commit_id":"969dd0fc74a618924ffb7fe6d1581bd731638abb"},{"author":{"_account_id":34915,"name":"Henning Eggers","email":"henning@eggers.name","username":"henninge"},"change_message_id":"f6fe2c4be101476db5ce1b462e922391e5d7603e","unresolved":true,"context_lines":[{"line_number":1639,"context_line":"            flow[\u0027cookie\u0027] \u003d ovs_lib.COOKIE_ANY"},{"line_number":1640,"context_line":"            # NOTE(henninge) Deferring flow deletion turns it into a bulk"},{"line_number":1641,"context_line":"            # operation which is faster when many flows need to be deleted."},{"line_number":1642,"context_line":"            self._delete_flows(deferred\u003dTrue, **flow)"}],"source_content_type":"text/x-python","patch_set":1,"id":"4286ffe1_6a2d4495","line":1642,"range":{"start_line":1642,"start_character":31,"end_line":1642,"end_character":39},"in_reply_to":"4adb0ea5_31216636","updated":"2022-05-30 08:13:34.000000000","message":"A cool, that would be great to know. We were wondering about this and if this fix might break whatever the deferred\u003dTrue was fixing.\n\nYou are absolutely right about the default. I will then also remove the comment, as there should be no need to explain the default.","commit_id":"969dd0fc74a618924ffb7fe6d1581bd731638abb"},{"author":{"_account_id":34915,"name":"Henning Eggers","email":"henning@eggers.name","username":"henninge"},"change_message_id":"48a6312cb2ab080d49db0f1b2c325f29572cbc90","unresolved":true,"context_lines":[{"line_number":1639,"context_line":"            flow[\u0027cookie\u0027] \u003d ovs_lib.COOKIE_ANY"},{"line_number":1640,"context_line":"            # NOTE(henninge) Deferring flow deletion turns it into a bulk"},{"line_number":1641,"context_line":"            # operation which is faster when many flows need to be deleted."},{"line_number":1642,"context_line":"            self._delete_flows(deferred\u003dTrue, **flow)"}],"source_content_type":"text/x-python","patch_set":1,"id":"71aa1cc0_cf946fe4","line":1642,"range":{"start_line":1642,"start_character":31,"end_line":1642,"end_character":39},"in_reply_to":"59b66e07_05658f2f","updated":"2022-05-31 08:20:40.000000000","message":"Thanks, Lajos, for the code pointers!\n\nI was a little bit surprised, that the default actually seems to be \"False\" via the _deferred attribute of the driver. After tracing up the call stack it turns out that delete_flow_for_ip only gets called from one place which is behind an \"if self._deferred\" (see https://opendev.org/openstack/neutron/src/commit/9d5673cb250f6a9e949239a4e31f5c6e16632310/neutron/agent/linux/openvswitch_firewall/firewall.py#L880).\n\nSo technically the default is \"True\", all flow operations are intended to be deferred. Question remains why Alonso went out of his way to add the extra keyword parameter to _delete_flows to be able to disable it for this one operation (see https://review.opendev.org/c/openstack/neutron/+/732761/5/neutron/agent/linux/openvswitch_firewall/firewall.py#537).","commit_id":"969dd0fc74a618924ffb7fe6d1581bd731638abb"},{"author":{"_account_id":34915,"name":"Henning Eggers","email":"henning@eggers.name","username":"henninge"},"change_message_id":"86216111bb95dacafbd0fa27b4432892c3e45cf6","unresolved":true,"context_lines":[{"line_number":1639,"context_line":"            flow[\u0027cookie\u0027] \u003d ovs_lib.COOKIE_ANY"},{"line_number":1640,"context_line":"            # NOTE(henninge) Deferring flow deletion turns it into a bulk"},{"line_number":1641,"context_line":"            # operation which is faster when many flows need to be deleted."},{"line_number":1642,"context_line":"            self._delete_flows(deferred\u003dTrue, **flow)"}],"source_content_type":"text/x-python","patch_set":1,"id":"b584713a_455b86ee","line":1642,"range":{"start_line":1642,"start_character":31,"end_line":1642,"end_character":39},"in_reply_to":"71aa1cc0_cf946fe4","updated":"2022-06-08 11:26:52.000000000","message":"Looks like this was accepted. Very cool!\nAnything else I need to do?","commit_id":"969dd0fc74a618924ffb7fe6d1581bd731638abb"}]}
