[zeromq-dev] Another epgm question

Emmanuel TAUREL taurel at esrf.fr
Wed Apr 14 10:41:23 CEST 2010

Hello all,

I am using zmq 2.0.6 on Ubuntu 9.04 boxes.
I am using PUB/SUB with the epgm protocol. I have one publisher on host 
A and 5 subscribers on host B.
The ZMQ_RATE is set to 100000 on both publishers and subscribers. I do 
not filter anything on the subscribers side. On the publisher side, I have
a ZMQ_HWM set to 100 and ZMQ_LWM set to 50.
I am sending 4 kbytes messages. The first byte within each message is a 
counter which allows me to check that I haven't lost any message.

 From the e-mail we exchanged yesterday, I have understood that in order 
to have some bandwidth available for RDATA pgm packet, I have to add a small
"sleep" in my loop sending data to the ZMQ socket.
My problem is that even with this sleep, I am still loosing messages!

On Wireshark, I now see the RDATA packets nevertheless, I have 
identified two cases in which I have lost data:

1 - While my sender was re-transmitting packets due to NAK sent by  the 
sender, there was another NAK coming from the sender.
Then,  the sender stops re-sending the lost packets requested by the 
first NAK to re-send the packets requested by the second NAK.
Therefore, not all the packets requested by the first NAK were re-sent 
and my application has lost messages.

2 - A more obscure case where during a transmission in which I had NAK 
and RDATA packets, there was simply a hole in the sequences of sent packets
without any NAK packet sent by the recever about this lost packets

For both cases, I have saved the wireshark data in a file in case it 
could be of any interest.

Is there someone aware of this kind of problems?

Best regards

Emmanuel Taurel

More information about the zeromq-dev mailing list