Move ZMQ socket bind to poll thread to prevent orch blocking#1157
Move ZMQ socket bind to poll thread to prevent orch blocking#1157ypcisco wants to merge 1 commit into
Conversation
Signed-off-by: Yash Pandit <ypcisco@gmail.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
anish-n
left a comment
There was a problem hiding this comment.
Approve, but I would request Qi or someone else with more context on this aspect to review
|
@ypcisco , can you fix coverage? @qiluo-msft , please review |
|
Could you provide evidence (logs, profiling data) showing that zmq_bind() itself is the bottleneck? |
| SWSS_LOG_NOTICE("Attempting to bind to zmq endpoint: %s", m_endpoint.c_str()); | ||
| if (zmq_bind(m_socket, m_endpoint.c_str()) != 0) | ||
| { | ||
| SWSS_LOG_THROW("zmq_bind failed on endpoint: %s, zmqerrno: %d", |
There was a problem hiding this comment.
This thread has NO catch-all block. Throwing exception will crash the process immediately.
There was a problem hiding this comment.
I think that was the intention of the original code to terminate the process and not silently log the msg.
Here are some logs showing how zmq_server bind is blocking the orch. Syslogs : Swss.rec : |
Why I did it
How I did it