As a side note, having some method to call process_commands while idle would also fix the memory usage issues encountered when using ZMQ_CONFLATE and not reading from the socket.

https://github.com/zeromq/libzmq/issues/3171

I added documentaion to periodically call getsockopt with ZMQ_EVENTS but that still requires work on the users side.

On Thu, Aug 23, 2018 at 3:29 PM Bill Torpey <wallstprog@gmail.com> wrote:
I’m posting this here since not everyone on the list will necessarily see the Github issue, and I’m interested in getting as much feedback as possible.

The issue in question ( https://github.com/zeromq/libzmq/issues/3186 ) has to do with finding a good way to trigger process_commands on inactive sockets.  In our tests, we see real-time memory utilization steadily increase for processes that only subscribe to data when other processes connect and disconnect from their publisher sockets.  The root cause of the problem seems to be that the publisher sockets never get a chance to clean up if we never call zmq_send etc.

The Github issue goes into some detail on potential workarounds, along with their drawbacks.  I would very much appreciate any suggestions that the group may have on how to deal with this problem — I can’t believe that we’re the first to run into it.

Thanks in advance for any suggestions!

_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev