Hello All, I'm seeing some odd behaviour on one of my clients here and I'm not sure if it's a bug, feature, or configuration problem. Client and server are running the 1.6.2 version of code.
Situation: o client connects to the server and after some time, something marks the connection 'idle' or dead. o client notices this and markes the connection state as 'dead'. so far so good... o further attempts by the client to publish succeed just fine, but get pushed into the save-queue to be published when the connection comes 'back' instead of actually re-initiating a connection to the server. Basically the client sort of goes zombie on me - living dead :-) Here's a relevant chunk of logging from the client side when this situation happens, just as it gets the reply from the server while attempting to publish a message: Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.protocol.socket.SocketCallbackImpl run FINEST: Receiving message > 1757**E**1dummyLoginName:1203708962442000000*publish*sessionId:172.23.254.12-null-1203703214979--1091490067-10**user.security.authentication.accessDenied*XmlBlasterException errorCode=[user.security.authentication.accessDenied] serverSideException=true location=[Authenticate] message=[#exported Your secretSessionId is invalid, no access to spiderman_test. : ] [See URL http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#user.security.authentication.accessDenied]*1248*user.security.authentication.accessDenied*spiderman_test*Authenticate*en*#exported Your secretSessionId is invalid, no access to spiderman_test.*version=1.6.2,revision=exported,os.name=Linux,os.version=2.4.20,java.vm.vendor=Sun Microsystems Inc.,java.vm.version=1.5.0_06-b05,os.arch=i386,build.timestamp=12/03/2007 03:42 PM,build.java.vendor=Sun Microsystems Inc.,build.java.version=1.4.2_06*2008-02-22 14:36:02.459*errorCode=user.security.authentication.accessDenied message=#exported Your secretSessionId is invalid, no access to spiderman_test. at org.xmlBlaster.authentication.Authenticate.check(Authenticate.java:852) at org.xmlBlaster.engine.XmlBlasterImpl.publishArr(XmlBlasterImpl.java:189) at org.xmlBlaster.util.protocol.RequestReplyExecutor.receiveReply(RequestReplyExecutor.java:408) at org.xmlBlaster.protocol.socket.HandleClient.handleMessage(HandleClient.java:231) at org.xmlBlaster.protocol.socket.HandleClient$1.run(HandleClient.java:389) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690) at java.lang.Thread.run(Thread.java:595)**<transaction/>*true*< , checksum=false, compressed=false, type=69, byte4=0, byte5=0, version=1, requestId=dummyLoginName:1203708962442000000, methodName=publish, sessionId=sessionId:172.23.254.12-null-1203703214979--1091490067-10 Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.protocol.RequestReplyExecutor receiveReply FINE: Receiving 'EXCEPTION' message publish(dummyLoginName:1203708962442000000) Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.protocol.RequestReplyExecutor removeResponseListener FINE: removeResponseListener(dummyLoginName:1203708962442000000) done Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.protocol.RequestReplyExecutor$1 incomingMessage FINE: RequestId=dummyLoginName:1203708962442000000: return value arrived ... Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.protocol.RequestReplyExecutor requestAndBlockForReply FINE: Waking up, got response for publish(requestId=dummyLoginName:1203708962442000000) Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.protocol.RequestReplyExecutor requestAndBlockForReply FINEST: Response for publish(dummyLoginName:1203708962442000000) is: errorCode=user.security.authentication.accessDenied message=#exported Your secretSessionId is invalid, no access to spiderman_test. Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchConnectionsHandler removeDispatchConnection FINER: connection:client/ejb_test1203703214006: removeDispatchConnection(ClientDispatchConnection-connection:client/ejb_test1203703214006) ... Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchConnection shutdown FINER: DispatchConnection-connection:client/ejb_test1203703214006 Entering shutdown ... Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.protocol.socket.SocketConnection shutdown FINER: Entering shutdown of callback server Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.protocol.socket.SocketCallbackImpl shutdownSocket FINE: Entering shutdownSocket() Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.protocol.socket.SocketConnection shutdown FINE: InputStream.close(): java.net.SocketException: Socket is closed Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.protocol.socket.SocketConnection shutdown FINE: OutputStream.close(): java.net.SocketException: Socket is closed Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchConnectionsHandler removeDispatchConnection FINE: connection:client/ejb_test1203703214006: Destroyed one callback connection, 0 remain. Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchConnectionsHandler updateState FINE: connection:client/ejb_test1203703214006: updateState() oldState=ALIVE conList.size=0 Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchManager shutdownFomAnyState FINER: connection:client/ejb_test1203703214006: Switch from ALIVE to DEAD Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.XmlBlasterAccess toDead FINER: client/ejb_test/-42: Changed from connection state ALIVE to DEAD connectInProgress=false Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchManager givingUpDelivery FINE: connection:client/ejb_test1203703214006: Entering givingUpDelivery(), state is DEAD Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.ClientErrorHandler handleError FINER: Entering handleError for 0 messages Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.protocol.socket.SocketCallbackImpl run FINE: Terminating socket callback thread Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchManager shutdown FINER: connection:client/ejb_test1203703214006: Entering shutdown ... Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchConnectionsHandler shutdown FINER: connection:client/ejb_test1203703214006: Entering shutdown ... Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchManager handleSyncWorkerException FINER: connection:client/ejb_test1203703214006: Sync delivery failed connection state is DEAD: errorCode=communication.noConnection.dead message=#exported Your secretSessionId is invalid, no access to spiderman_test. : O riginal erroCode=user.security.authentication.accessDenied Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchManager checkSending FINE: connection:client/ejb_test1203703214006: The dispatcher is shutdown, can't activate callback worker thread <DispatchManager id='connection:client/ejb_test1203703214006' numEntries='0' isShutdown='true'> <DispatchConnectionsHandler state='DEAD'> <noDispatchConnection/> </DispatchConnectionsHandler> <dispatchWorkerIsActive>false</dispatchWorkerIsActive> </DispatchManager> Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchManager switchToASyncMode INFO: connection:client/ejb_test1203703214006: Switched to asynchronous message delivery Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.dispatch.ClientDispatchConnectionsHandler createFakedReturnObjects FINER: Entering createFakedReturnObjects() for 1 entries Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.dispatch.ClientDispatchConnectionsHandler createFakedReturnObjects FINE: Creating faked return for 'publish' invocation Feb 22, 2008 2:36:02 PM org.xmlBlaster.util.dispatch.DispatchManager handleSyncWorkerException FINE: connection:client/ejb_test1203703214006: Delivery failed, pushed 1 entries into tail back queue Feb 22, 2008 2:36:02 PM org.xmlBlaster.client.XmlBlasterAccess queueMessage FINE: client/ejb_test/-42: Forwarded one 'publish' message, current state is DEAD Feb 22, 2008 2:36:59 PM org.xmlBlaster.util.dispatch.DispatchConnection finalize FINE: DispatchConnection-connection:client/ejb_test1203703214006 finalize - garbage collected Feb 22, 2008 2:36:59 PM org.xmlBlaster.util.queuemsg.MsgQueueEntry finalize FINE: finalize - garbage collect At this point, the client is still running, but it never reconnects back to the server, regardless of how many publish() calls are made - the messages are effectively lost in the client-side queue now. Is this a bug, or a configuration issue or is there some method I should be calling to 'kick' the connection back up and allow the queued messages to get published to the server? -- David Kerry