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

[xmlblaster] strange behavior of query in cluster setup



All,

I started seeing strange behavior with get() in the following cluster
setup:

     Client1--------Slave(djmproxy)-------Master(psq)
                |
     Client2----|
                |
     Client3----|


The slave is configured to forward all messages to the master via

# clustering for djmproxy
cluster=true
cluster.node.id=djmproxy_xxx.xxx.xxx.xxx

cluster.node[psq_xxx.xxx.xxx.xxx]=\
   <clusternode id='psq_xxx.xxx.xxx.xxx'>\
      <info>\
         <address type='IOR' hostname='xxx.xxx.xxx.xxx' port='7601' />\
      </info>\
      <master type='DomainToMaster'>\
         <key queryType='DOMAIN' domain='*'/>\
      </master>\
   </clusternode>

(I know this is the "old" style and will move to .xml setup soon.)

The master has corresponding settings.


Bug1:
-----
In the case where client1 publishes messages, then client2 subscribes
to those messages, and then client3 queries for those messages via
get, client3 gets matching message back. However, for a single
message, client3 gets 2 results. Could this be a bug (i.e. both the
master and the slave sending results to get back to client3 ?).

Bug2:
-----
If I reverse the order to
 Client1 publishes
 Client3 queries via get

Client3 does not get any results back. Using the d command, it seems
as if the slave does not have a parsed DOM, although the master
does. When the slave gets the get request, it tries to find a matching
DOM entry, and reports back that there was no match. Shouldn't the
right behavior be to forward the get request to the master, and report
back those results ?

Let me know if you need cleaned trace / dumps to debug this. I'm
currently working around 
 Bug1 combining multiple responses on the client end before handing it
      off to the app
 Bug2 by having a bogus subscription

BTW: I'm using version 0.847+ (not 0.848 yet) out of cvs.

Michael



          
-- 
matighet at bbn.com   BBN Technologies