[zeromq-dev] push socket behavior on send high water mark (SND_HWM)

Antti Karanta Antti.Karanta at neromsoft.com
Mon May 11 08:39:36 CEST 2015


   I am using (among others) push and pull sockets. Recently I noticed 
that on high loads (=pushing a lot of messages) messages were lost. The 
documentation for push socket says 
(http://api.zeromq.org/4-0:zmq-socket#toc14) that on reaching high water 
mark the socket goes to mute state and blocks until it can send again, 
"messages are not discarded".
   However, I observed losing messages and this got fixed once I 
explicitly set SND_HWM to 0 (unlimited) on the push socket.
   Now it seems at least one of these three must be incorrect: the push 
socket implementation, the push socket documentation, or my 
understanding of the previous two. My problem is solved for now but I 
thought I'd report this in case anyone else happens to be fighting with 
it and so I may learn something from the answers.

   Environment:  zmq version 4.0.4, using clrzmq wrappers on the push 
socket, cljzmq on the pull socket, windows 7 & 8 on x64.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20150511/d3740be3/attachment.htm>

More information about the zeromq-dev mailing list