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

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

Michele Laghi wrote:
Hi Gautam,
which configuratioo of the XMLRPC Protocol are you using ? Are you
tunnelling back the answers or are you using it in the classical way
(that is separate Connections for publish / updates)

All my receivers were on one node, I had 4 of them. I was starting them w/ the shell script below, varying the port number argument as 8090, 8091, 8092, 8093

java ght2rec -protocol XMLRPC -dispatch/connection/plugin/xmlrpc/hostname -dispatch/callback/plugin/xmlrpc/port $1

The sender was on a 2nd node, it was started with:

java ght2send -dispatch/connection/plugin/xmlrpc/hostname -protocol XMLRPC

The xmlBlaster server runs on a host by itself (host w/ ip addr

I believe tihs means I am using "classical way".

I can confirm that if I use this same setup and just use "SOCKET/socket" in place of "XMLRPC/xmlrpc" the application has run for 10x longer (to finish) w/o any lost replies.



On 04/16/2010 10:45 PM, Gautam Thaker wrote:

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

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.