Comment 7 for bug 1658913

Revision history for this message
Oleksii Zamiatin (ozamiatin) wrote :

@lihong, could you please clarify: did you receive the trace after changing RequestSenderDirect to use zmq.NOBLOCK in sending? Btw, I don't see this particular change in your patch... What kind of failure did you see without zmq.NOBLOCK (what behavior do we have on master branch)? Because the default behavior of dealer socket (storing messages before the first connection appears) is what was really wanted here.

Regarding the dead loop as I see now it is the same thing that eventlet does, handling EAGAIN and retrying. For dynamic connections that means to close by timeout (which will happen anyway when the reply waiting future expires). We also can limit the number of retries to 3-5 for example. But first of all I'd like to figure out do we really need to use zmq.NOBLOCK ...