David Kerry wrote:
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.
Hi David,
1. Why is secretSessionId invalid?
We would need to see the server log for this, possibly the session
timed out.
2. Is the client connecting in fail safe mode?
o With public session ID > 0: -session.name spiderman_test/1
o -dispatch/callback/retries -1
To detect going DEAD you can register
xmlBlasterAccess.registerConnectionListener()
and react Kerry-like (see xmlBlaster/demo/HelloWorld4.java).
Still it would be good to know why the secret sessionId got invalid.
best regards
Marcel, Michele
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?
--
Marcel Ruff
http://www.xmlBlaster.org
http://watchee.net
Phone: +49 7551 309371