[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xmlblaster] losing some pub/sub messaging w/ -protocol XMLRPC (but not w/ -protocol SOCKET)


I am running a variant of HelloWorld demo pgm. My setup is as follows:

sender <--->xmlBlaster_server <----> receiver x 4

There is just 1 "sender", but 4 "receivers".

Sender publishes a msg on "forward" channel that is subscribed to by all the receivers. When they get a msg, they reply back to a "reverse" channel. The sender blocks till it receives 4 replies. It measures the time from its send to receipt of all the 4 replies. It then does sends a next message on "forward" channel.

This goes on for 100,000 times. Message sizes are small, byte[4] or byte[8].

What i have noticed is that when using

-protocol XMLRPC at various times, after few 10's of thousand exchanges, the sender is stuck in a state where it has received 3 of the 4 replies it was expecting. As the sender gets multiple replies back potentially its "update()" routine may have multiple concurrent active callbacks (Is this possible?) In any event, all my variables that know how many replies have come in so far are "synchronized", i was fearing I was getting threads stomping on each other. Even w/ all variable access well synchronized I get to this state where 3 of 4 replies have come in and I am hung.

To repeat, just by changing command line args to use -protocol SOCKET I have never seen this happen to me.

Can published messages in such simple, synchronized message exchanges where queues can never have more than 1 (or 4) messages in it, can msgs be lost by xmlBlaster?

Thank for any hints. I need reliable message delivery.