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

[xmlblaster] connection problems



I started looking into the connection problems I reported earlier to
the mailing list, and have some further insight now.

When I start up the client and cause it to establish a SOCKET
connection, I see the following output in the client

-----------------
initializing new SOCKET connection
[Apr 25, 2003 5:48:11 PM INFO  XmlBlasterConnection] Initializing fail save
 mode
[Apr 25, 2003 5:48:12 PM INFO  XmlBlasterConnection-matighet] Loaded security plugin=htpasswd v
ersion=1.0
[Apr 25, 2003 5:48:13 PM INFO  XmlBlasterConnection-matighet] Callback settings: type=RAM onOve
rflow=deadMessage onFailure=deadMessage maxEntries=1000 type=SOCKET oneway=false burstMode.coll
ectTime=0
[Apr 25, 2003 5:48:13 PM INFO  SocketConnection] Created SOCKET client connected to 'xxx.xxx.xxx.
xxx' on port 7607, callback address is xxx.xxx.xxx.xxx:59341
[Apr 25, 2003 5:48:15 PM INFO  SocketCallbackImpl-dummyLoginName] Started callback receiver plu
gin on 'xxx.xxx.xxx.xxx:59341'
[Apr 25, 2003 5:48:22 PM INFO  FileRecorder] Found 99 unprocessed tail back messages in '/home/
matighet/tmp/fileRecorder/tailback-matighetmatighet-to-xmlBlaster.frc'.
[Apr 25, 2003 5:48:22 PM INFO  FileRecorder] FileRecorder is ready, max=10000000 tail back mess
ages are stored in '/home/matighet/tmp/fileRecorder/tailback-matighetmatighet-to-xmlBlaster.frc
'
[Apr 25, 2003 5:48:22 PM INFO  XmlBlasterConnection-matighet] Activated fail save mode: type=SO
CKET oneway=false burstMode.collectTime=0 delay=5000 retries=0 pingInterval=0
[Apr 25, 2003 5:48:22 PM INFO  XmlBlasterConnection-matighet] Connected to xmlBlaster as /node/
djmproxy1/client/matighet/-2
SOCKET connection connected
-----------------

The client the goes on trying to publish a message.


Next, in the Xmlblaster slave node, I see

------------
....
[Apr 25, 2003 5:47:51 PM INFO  Main-/node/djmproxy1]  oooooooooooooooooooooooooooooooooooooooooooooo 
[Apr 25, 2003 5:47:51 PM INFO  Main-/node/djmproxy1] o xmlBlaster 0.845+ build 04/25/2003 01:27 PM  o
[Apr 25, 2003 5:47:51 PM INFO  Main-/node/djmproxy1] o READY - press <?> and <enter> for options    o
[Apr 25, 2003 5:47:51 PM INFO  Main-/node/djmproxy1]  oooooooooooooooooooooooooooooooooooooooooooooo 
[Apr 25, 2003 5:48:16 PM INFO  HandleClientRequest-matighet] Client accepted, coming from host=/xxx.xxx.xxx.xxx port=59341
[Apr 25, 2003 5:48:18 PM CALL  RequestBroker-/node/djmproxy1] Entering publish(oid='__sys__UserList', contentMime='text/plain', contentMimeExtended='null' domain='null' from client '/node/djmproxy1/client/__RequestBroker_internal[djmproxy1]' ...
[Apr 25, 2003 5:48:18 PM INFO  CorruptionIntruder] CorruptionIntruder::intercept called
[Apr 25, 2003 5:48:18 PM INFO  PublishRateLimiter] PublishRateLimiter::intercept called
[Apr 25, 2003 5:48:19 PM INFO  HandleClientRequest-matighet] Client accepted, coming from host=/xxx.xxx.xxx.xxx port=59344
[Apr 25, 2003 5:48:19 PM WARN  HandleClientRequest-matighet] Destroying old callback driver 'SOCKEThttp://xxx.xxx.xxx.xxx:7601' ...
[Apr 25, 2003 5:48:21 PM INFO  DeliveryConnection-callback:/node/djmproxy1/client/matighet/-2] Connection transition UNDEF -> ALIVE: Success, callback:/node/djmproxy1/client/matighet/-2 connected.
[Apr 25, 2003 5:48:21 PM CALL  RequestBroker-/node/djmproxy1] Entering publish(oid='__sys__Login', contentMime='text/plain', contentMimeExtended='null' domain='null' from client '/node/djmproxy1/client/__RequestBroker_internal[djmproxy1]' ...
[Apr 25, 2003 5:48:21 PM INFO  CorruptionIntruder] CorruptionIntruder::intercept called
[Apr 25, 2003 5:48:21 PM INFO  PublishRateLimiter] PublishRateLimiter::intercept called
[Apr 25, 2003 5:48:21 PM CALL  ClientSubscriptions-/node/djmproxy1] Login event for client /node/djmproxy1/client/matighet/-2, nothing to do
[Apr 25, 2003 5:48:21 PM INFO  Authenticate-/node/djmproxy1] Successful login for client /node/djmproxy1/client/matighet/-2, session expires after [ 24 h 0 millis ], 1 of 10 sessions are in use.
[Apr 25, 2003 5:48:30 PM INFO  HandleClientRequest-matighet] Client accepted, coming from host=/xxx.xxx.xxx.xxx port=59360
[Apr 25, 2003 5:48:30 PM WARN  HandleClientRequest-matighet] Destroying old callback driver 'SOCKEThttp://xxx.xxx.xxx.xxx:7601' ...
[Apr 25, 2003 5:48:41 PM CALL  XmlBlasterImpl-/node/djmproxy1] Entering publishArr()
[Apr 25, 2003 5:48:41 PM WARN  Authenticate-/node/djmproxy1.AccessDenied] SessionId '' is invalid, no access to xmlBlaster.

-----


shortly after, I get the following exception on the publishing client.

stub trying to publish 
errorCode=user.security.authentication.accessDenied message=Your secretSessionId is invalid, no
 access to djmproxy1.
        at org.xmlBlaster.util.XmlBlasterException.parseByteArr(XmlBlasterException.java:560)
        at org.xmlBlaster.protocol.socket.Parser.getException(Parser.java:475)
        at org.xmlBlaster.protocol.socket.Executor.receive(Executor.java:357)
        at org.xmlBlaster.client.protocol.socket.SocketCallbackImpl.run(SocketCallbackImpl.java
:165)
        at java.lang.Thread.run(Thread.java:536)

the code then goes into failover handling, which is trying to reconnect.


I also reproduced the same effect with RMI and IOR as transport
protocols, which produced a slightly different exception trace.

Just to verify that authentication is not the problem I set
Security.Server.Plugin.htpasswd.secretfile=NONE
in the client's property file, which did not change anything.

One more thing: I tried to get more info about the exception using
getMessage (as suggest by Marcel earlier), but this only produced a
further Nullpointer exception
java.lang.NullPointerException
        at org.xmlBlaster.util.XmlBlasterException.getMessage(XmlBlasterException.java:197)


To me it looks as if I'm able to connect to the slave initially, but
as soon as a client either publishes or subscribes, xmlblaster has
problems with the sessionID and causes the connection to fail.

This is based on the xmlblaster cvs tree from today.

Any clues ? We are keeping to look into the query string problem and the
connection problem next week, but have a hard deadline for the query
string functionality this coming wednesday, so try to look at the
query string problem first (reported in an earlier email by Chris
Jones).

One last note: I've attached the slave's property file. Note that I'm
running the client, slave, and master on the same machine.

Thanks

Michael






-- 
matighet at bbn.com   BBN Technologies
Security.Server.Plugin.htpasswd.secretfile=NONE

CbProtocolPlugin[IOR][1.0]=org.xmlBlaster.protocol.corba.CallbackCorbaDriver
CbProtocolPlugin[SOCKET][1.0]=org.xmlBlaster.protocol.socket.CallbackSocketDriver
CbProtocolPlugin[RMI][1.0]=org.xmlBlaster.protocol.rmi.CallbackRmiDriver
CbProtocolPlugin[XML-RPC][1.0]=org.xmlBlaster.protocol.xmlrpc.CallbackXmlRpcDriver
CbProtocolPlugin[JDBC][1.0]=

ClientProtocolPlugin[IOR][1.0]=org.xmlBlaster.client.protocol.corba.CorbaConnection
ClientProtocolPlugin[SOCKET][1.0]=org.xmlBlaster.client.protocol.socket.SocketConnection
ClientProtocolPlugin[RMI][1.0]=org.xmlBlaster.client.protocol.rmi.RmiConnection
ClientProtocolPlugin[XML-RPC][1.0]=org.xmlBlaster.client.protocol.xmlrpc.XmlRpcConnection

ClientCbServerProtocolPlugin[IOR][1.0]=org.xmlBlaster.client.protocol.corba.CorbaCallbackServer
ClientCbServerProtocolPlugin[SOCKET][1.0]=org.xmlBlaster.client.protocol.socket.SocketCallbackImpl
ClientCbServerProtocolPlugin[RMI][1.0]=org.xmlBlaster.client.protocol.rmi.RmiCallbackServer
ClientCbServerProtocolPlugin[XML-RPC][1.0]=org.xmlBlaster.client.protocol.xmlrpc.XmlRpcCallbackServer


jacorb.verbosity=0
ns=false
port=7601

useTopicStore=false
JdbcDriver.drivers=

# turn off telnet access
admin.remoteconsole.port=-1

# turn off JDBC plugin
ProtocolPlugin[JDBC][1.0]=


# clustering
cluster=true
cluster.node.id=djmproxy1

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

# publish length checking
## only let through first image
MimePublishPlugin[PublishRateLimiter][1.0]=com.bbn.quo.dpasa.PublishRateLimiter,MAX_RATE_MPH=3
MimePublishPlugin[PublishLenChecker][1.0]=com.bbn.quo.dpasa.PublishLenChecker,DEFAULT_MAX_LEN=46000
MimePublishPlugin[CorruptionIntruder][1.0]=com.bbn.quo.dpasa.CorruptionIntruder