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

Re: [xmlblaster] connection problems



Marcel,

thanks for the help - I finally got connections via XmlBlasterAccess
working this morning. What I believe turned out to be the problem is
not related to the XmlBlasterConnection / Access issue at all. I'm
starting both a master and slave node on a single box, and had the
master node only start IOR listeners on a port different from the
slave (which was starting all listeners). This worked with a previous
version of xmlblaster by doing something similar to

  ClientProtocolPlugin[IOR][1.0]=org.xmlBlaster.client.protocol.corba.CorbaConnection
  ClientProtocolPlugin[SOCKET][1.0]=
  ClientProtocolPlugin[RMI][1.0]=
  ClientProtocolPlugin[XML-RPC][1.0]=

  ClientCbServerProtocolPlugin[IOR][1.0]=org.xmlBlaster.client.protocol.corba.CorbaCallbackServer
  ClientCbServerProtocolPlugin[SOCKET][1.0]=
  ClientCbServerProtocolPlugin[RMI][1.0]=
  ClientCbServerProtocolPlugin[XML-RPC][1.0]=

  CbProtocolPlugin[IOR][1.0]=org.xmlBlaster.protocol.corba.CallbackCorbaDriver
  CbProtocolPlugin[SOCKET][1.0]=
  CbProtocolPlugin[RMI][1.0]=
  CbProtocolPlugin[XML-RPC][1.0]=
  CbProtocolPlugin[JDBC][1.0]=org.xmlBlaster.protocol.jdbc.CallbackJdbcDriver

Now, it seems as if even though the master has empty drivers, it still
tries to start socket and xmlrpc listeners, which were colliding with
the slave. I've worked around this by adding

  socket.port=9090
  xmlrpc.port=8090

however, would prefer to turn of these xport protocols on the
master. How is that done ?

Also, I noticed the following warnings when starting up my cluster:

djmproxy_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:04:02 PM WARN  RequestBroker-/node/djmproxy1] Persistent and recoverable topics are switched of with '-useTopicStore false', topics are handled RAM based only.
djmproxy_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:04:05 PM WARN  RmiDriver-/node/djmproxy1] Removed another entry while binding authentication RMI server to registry with name 'rmi://xxx.bbn.com:1099/I_AuthServer'
djmproxy_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:04:05 PM WARN  RmiDriver-/node/djmproxy1] Removed another entry while binding xmlBlaster RMI server to registry with name 'rmi://xxx.bbn.com:1099/I_XmlBlaster'
djmproxy_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:04:08 PM WARN  JdbcDriver-/node/djmproxy1] No JDBC driver in xmlBlaster.properties given, set 'JdbcDriver.drivers' to point to your DB drivers if wanted, e.g. JdbcDriver.drivers=oracle.jdbc.driver.OracleDriveri:org.gjt.mm.mysql.Driver:postgresql.Driver
djmproxy_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:04:08 PM WARN  HtPasswd] Security risk, no access control: The passwd file is switched off with 'Security.Server.Plugin.htpasswd.secretfile=NONE'
djmproxy_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:04:09 PM WARN  RequestBroker-/node/djmproxy1] Cluster manager is not ready, handling message '__sys__UserList' locally
djmproxy_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:04:09 PM WARN  RequestBroker-/node/djmproxy1] Cluster manager is not ready, handling message '__sys__Login' locally
psq_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:03:48 PM WARN  HtPasswd] Security risk, no access control: The passwd file is switched off with 'Security.Server.Plugin.htpasswd.secretfile=NONE'
psq_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:03:48 PM WARN  RequestBroker-/node/psq1] Cluster manager is not ready, handling message '__sys__UserList' locally
psq_xxx.xxx.xxx.xxx.log:[Apr 28, 2003 1:03:49 PM WARN  RequestBroker-/node/psq1] Cluster manager is not ready, handling message '__sys__Login' locally

I'm particularly worried about "Cluster manager is not ready". Also,
how do you turn of the JDBC warning in the slave djmproxy ?

Thanks
Michael



On Fri, Apr 25, 2003 at 09:01:35PM -0400, Michael Atighetchi wrote:
> Marcel,
> 
> oops - confused XmlBlasterAccess and XmlBlasterConnection. I'll rerun
> the test case with XmlBlasterAccess on Monday and let you know. 
> 
> Thanks, and have a nice weekend
> Michael
> 
> 
> On Sat, Apr 26, 2003 at 12:30:59AM +0200, Marcel Ruff wrote:
> > Michael Atighetchi wrote:
> > 
> > >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
> > >
> > Could you please try your tests with XmlBlasterAccess instead of 
> > XmlBlasterConnection
> > as we do not support XmlBlasterConnection anymore.
> > For example XmlBlaster connection uses the deprecated file recorder with
> >    
> > /home/matighet/tmp/fileRecorder/tailback-matighetmatighet-to-xmlBlaster.frc
> > which is now done by our queue framework (the file recorder will be a native
> > queue plugin one day in the future).
> > 
> > If there are still problems with XmlBlasterAccess we are very willing to 
> > fix them,
> > please report them with all details to us.
> great.
> 
> 
> > 
> > If the 'Your secretSessionId is invalid ...' still happens with 
> > XmlBlasterAccess
> > please report it as well.
> Ok.
> 
> > 
> > The NPE in XmlBlasterException i have tried to fix.
> Cool.
> 
> > 
> > Your XPath problem:
> > Please send me privately the internal dump of xmlBlaster so i can
> > reproduce the same meta key messages and try to reproduce your problem.
> 
> Chris Jones (who is working with me at BBN) should have sent out the
> trace today.
> 
> 
> > 
> > thanks
> > Marcel
> > 
> > >
> > >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
> > >
> > >
> > >
> > >
> > >
> > >
> > > 
> > >
> > >
> > >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
> > >
> > >
> > > 
> > >
> > 
> > 
> 

-- 
matighet at bbn.com   BBN Technologies