)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"f6405a229ae3987e451319aebd1ffecc0465195c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c7a530cb_7371530e","updated":"2024-11-27 21:00:06.000000000","message":"I\u0027d need to see some hard numbers on this improving performance and not breaking things. Adding randomness to the order in which we process these events does not sound safe.","commit_id":"b5fbcafa6507006debee61d89d16ca65c10840a5"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"d2232c7a0ec0fdccfa91c1b025f9e2da84498a9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"87a5e344_df93581e","updated":"2024-11-27 20:58:59.000000000","message":"We don\u0027t allow oslo projects","commit_id":"b5fbcafa6507006debee61d89d16ca65c10840a5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8e85d414e69efc6f1ae17ffe0ff837c3739a7d38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"dcf57fed_5b04001f","updated":"2024-11-28 09:32:06.000000000","message":"So that means, for example, that we receive two events sequentially (port UP and port DOWN) and this events can be treated in a different order. As a user, I expect the events to be processed in the same order received.\n\nOn the other hand, what is the benefit of using threads in the python code here? If the specific event \"run\" code implies, for example, I/O operations, multithread can indeed help. But if the code is just pure python, there is no improvement at all.\n\nThis change has more implications rather a non-justified speed gain.","commit_id":"69e9bfd87ad2c406551abe361a666a37c4d6107e"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"400d87f3b6ff2222c7a4a5467bdf40d7665582df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba3c6605_445b5088","in_reply_to":"7869cb2d_5e1ee9a6","updated":"2024-12-02 14:55:53.000000000","message":"I believe part of Rodolfo\u0027s point was that if we parallelize the event handling then we can no longer guarantee in-order execution of the events. Which could lead to incorrect results, for example think of two events like a port-up and a port-down. In the reverse order this means something completely different. AFAIU the presence of the read-lock does not guarantee in-order execution. So the price of being faster would be to have incorrect results.","commit_id":"69e9bfd87ad2c406551abe361a666a37c4d6107e"},{"author":{"_account_id":35591,"name":"Amir Nikpour","display_name":"Amir Nikpour","email":"amnik.free@gmail.com","username":"amnik"},"change_message_id":"552e203019438437ea543f696d8fd2e1854d0ff3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c5753828_cf187ef1","in_reply_to":"ba3c6605_445b5088","updated":"2024-12-05 10:01:56.000000000","message":"I discussed this issue briefly with Rodolfo on IRC and understand his point. This change impacts all projects that use ovsdbapp, and the order of execution might be important for some of them. However, my proposal specifically relates to the OVN Agent, where I thikn the order of execution is not critical.\nIf this change is not accepted in ovsdbapp, we could explore implementing parallelism directly within the OVN Agent instead.","commit_id":"69e9bfd87ad2c406551abe361a666a37c4d6107e"},{"author":{"_account_id":35591,"name":"Amir Nikpour","display_name":"Amir Nikpour","email":"amnik.free@gmail.com","username":"amnik"},"change_message_id":"0b7d5e5b353307b4d755bdeea3d24888858d8604","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7869cb2d_5e1ee9a6","in_reply_to":"dcf57fed_5b04001f","updated":"2024-11-28 10:10:46.000000000","message":"As mentioned in the LP link, in the context of the OVN Agent, what’s your perspective on this? Parallel execution could enhance the provisioning of multiple datapaths simultaneously, especially since the current code implementation—with its use of read_lock—seems to be designed with this expectation in mind.","commit_id":"69e9bfd87ad2c406551abe361a666a37c4d6107e"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"6be4efd14d97bea61cef7aa0cbe58740c3ecc131","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"95ceeb9c_21746b7b","updated":"2024-12-05 20:55:28.000000000","message":"ovsdbapp was designed very specifically to not handle these in parallel. Getting a delete notification for a port and then a create notification where it was recreated makes sense. You can handle both of those in order. But if you get the create notification of a port and then a delete notification would be a very different thing. Or a notification of a port being down and the port switching to up. It\u0027s really important to do those in the right order.","commit_id":"c97afe4dfac0884cfcaf8d8d5abd58b6a5a8a131"}],"ovsdbapp/event.py":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"d2232c7a0ec0fdccfa91c1b025f9e2da84498a9d","unresolved":true,"context_lines":[{"line_number":17,"context_line":"import queue"},{"line_number":18,"context_line":"import threading"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_service import threadgroup"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# Several supported distros don\u0027t package sortedcontainers. For this reason"},{"line_number":23,"context_line":"# python-ovs, which requires it for indexing support, has an in-tree copy of"}],"source_content_type":"text/x-python","patch_set":2,"id":"4a19b80c_1778243b","line":20,"updated":"2024-11-27 20:58:59.000000000","message":"We don\u0027t allow oslo projects in ovsdbapp runtime code.","commit_id":"b5fbcafa6507006debee61d89d16ca65c10840a5"},{"author":{"_account_id":35591,"name":"Amir Nikpour","display_name":"Amir Nikpour","email":"amnik.free@gmail.com","username":"amnik"},"change_message_id":"1b20b94bc7385de069f8944df336bd6561a4afd7","unresolved":true,"context_lines":[{"line_number":17,"context_line":"import queue"},{"line_number":18,"context_line":"import threading"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_service import threadgroup"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# Several supported distros don\u0027t package sortedcontainers. For this reason"},{"line_number":23,"context_line":"# python-ovs, which requires it for indexing support, has an in-tree copy of"}],"source_content_type":"text/x-python","patch_set":2,"id":"66e71099_c48bfc32","line":20,"in_reply_to":"4a19b80c_1778243b","updated":"2024-11-28 09:55:58.000000000","message":"For now, I’ve updated the implementation to use the concurrent.futures module","commit_id":"b5fbcafa6507006debee61d89d16ca65c10840a5"}]}
