On 28/06/2010 21:21, Okubo, Yasushi (TSD) wrote: > Yes, I do. > > <Manager className="org.apache.catalina.ha.session.DeltaManager" > name="webclust2" > expireSessionsOnShutdown="false"
Hmm. Can you unset the DeltaManager name attribute on all of your instances? p Hi Pid I moved expireSessionOnShutdown, but the result was the same. I did not see any difference. By the way, when I shutdown the node1, it is getting action = 3 from SimpleTpcCluster, which means logout defined in singlesignonmessage.java. And clustersinglesignon is deregistering this session id from other nodes. It looks like clustersinglesignon can send a message to other nodes even if deltamanager.expireSessionsOnShutdown set to false. Why? Then, how can Tomcat differentiate event between shutdown and logout? == Catalina.out == Jun 28, 2010 3:05:53 PM org.apache.catalina.ha.session.DeltaManager stop FINE: Manager [/cluster] is stopping Jun 28, 2010 3:05:53 PM org.apache.catalina.ha.session.DeltaManager stop INFO: Manager [/cluster] expiring sessions upon shutdown Jun 28, 2010 3:05:53 PM org.apache.catalina.authenticator.SingleSignOn sessionEvent FINE: Process session destroyed on DeltaSession[EBEEECC91096DF7020488C1BDD75DF41.jvm2] Jun 28, 2010 3:05:53 PM org.apache.catalina.tribes.transport.nio.ParallelNioSender doLoop FINER: ParallelNioSender - Sent msg:UniqueId{-2, -89, -62, -53, 103, -39, 67, -1, -111, 52, -43, -84, -41, 66, 66, 31} at 2010-06-28 15:05:53.689 to tcp://{127, 0, 0, 1}:4010 Jun 28, 2010 3:05:53 PM org.apache.catalina.tribes.group.ChannelCoordinator sendMessage FINER: ChannelCoordinator - Sent msg:UniqueId{-2, -89, -62, -53, 103, -39, 67, -1, -111, 52, -43, -84, -41, 66, 66, 31} at 2010-06-28 15:05:53.69 to {tcp://{127, 0, 0, 1}:4010} Jun 28, 2010 3:05:53 PM org.apache.catalina.tribes.group.GroupChannel send FINER: GroupChannel - Sent msg:UniqueId{-2, -89, -62, -53, 103, -39, 67, -1, -111, 52, -43, -84, -41, 66, 66, 31} at 2010-06-28 15:05:53.69 to {tcp://{127, 0, 0, 1}:4010} Jun 28, 2010 3:05:53 PM org.apache.catalina.tribes.group.GroupChannel send FINER: GroupChannel - Send Message:UniqueId{-2, -89, -62, -53, 103, -39, 67, -1, -111, 52, -43, -84, -41, 66, 66, 31} is SingleSignOnMessage[action=3, ssoId=1C052A3927DC43EE6CAF27997F85C23B, sessionId=null, username=null] Jun 28, 2010 3:05:53 PM org.apache.catalina.ha.authenticator.ClusterSingleSignOn deregister FINE: SingleSignOnMessage Send with action 3 Jun 28, 2010 3:05:53 PM org.apache.catalina.authenticator.SingleSignOn deregister FINE: Deregistering sso id '1C052A3927DC43EE6CAF27997F85C23B' Jun 28, 2010 3:05:53 PM org.apache.catalina.authenticator.SingleSignOn deregister FINER: Invalidating session DeltaSession[EBEEECC91096DF7020488C1BDD75DF41.jvm2] Jun 28, 2010 3:05:53 PM org.apache.catalina.connector.MapperListener handleNotification FINE: Handle Catalina:type=Manager,path=/cluster,host=webclust2 type : JMX.mbean.unregistered Jun 28, 2010 3:05:53 PM org.apache.catalina.connector.MapperListener handleNotification FINE: Handle Catalina:type=Manager,path=/cluster,host=webclust2 type : JMX.mbean.unregistered Jun 28, 2010 3:05:53 PM org.apache.catalina.core.StandardContext listenerStop FINE: Sending application stop events == singlesignonmessage.java public class SingleSignOnMessage implements ClusterMessage, Serializable { public static final int ADD_SESSION = 1; public static final int DEREGISTER_SESSION = 2; public static final int LOGOUT_SESSION = 3; > -----Original Message----- > From: Pid [mailto:p...@pidster.com] > Sent: Monday, June 28, 2010 1:09 PM > To: Tomcat Users List > Subject: Re: question for sso session replication in tomcat 6.0.26 > > On 28/06/2010 19:58, Okubo, Yasushi (TSD) wrote: >> >> Hi Pid >> >> I got more detailed log and it looks like clustersinglesignon is >> deregistering sso session on other nodes. >> >> 0. session destroyed C0641336BF4E6B4654927AA3337EAB9F.jvm1 by shutdown >> [on node1] >> >> 1. clustersinglesignon is calling singlesignon to invalidate session >> [ssoId=7BA0AB7AE2BFDB08CE2EBE8F42D3E89C] for node1 >> >> 2, but it looks like this message came back to the node1 (through > group >> channel/mulitcast?) >> >> 3. then clustersinglesignon is deregistering this session again for >> ssoId=7BA0AB7AE2BFDB08CE2EBE8F42D3E89C. deregister method propagates >> this message to other nodes to deregister >> ssoId=7BA0AB7AE2BFDB08CE2EBE8F42D3E89C from all members in the same >> cluster. >> >> >> Is there any way to break this chain of actions to stop >> clustersinglesigon invoking deregister method? > > Do you have ClusterManager.expireSessionsOnShutdown set to false? > > > p > >> Jun 28, 2010 10:27:40 AM org.apache.catalina.ha.session.DeltaManager >> stop >> FINE: Manager [/cluster] is stopping >> Jun 28, 2010 10:27:40 AM org.apache.catalina.ha.session.DeltaManager >> stop >> INFO: Manager [/cluster] expiring sessions upon shutdown >> FINE: Process session destroyed on >> DeltaSession[C0641336BF4E6B4654927AA3337EAB9F.jvm1] >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.NioReplicationTask >> serviceChannel >> FINER: About to service key:sun.nio.ch.selectionkeyi...@1bd7b222 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.NioReplicationTask run >> FINER: Servicing key:sun.nio.ch.selectionkeyi...@1bd7b222 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.NioReplicationTask run >> FINER: Draining channel:sun.nio.ch.selectionkeyi...@1bd7b222 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.NioReplicationTask >> registerForRead >> FINER: Adding key for read event:sun.nio.ch.selectionkeyi...@1bd7b222 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.NioReceiver addEvent >> FINER: Adding event to >> > selector:org.apache.catalina.tribes.transport.nio.nioreplicationtas...@5 >> 637dde9 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.NioReplicationTask > drainChannel >> FINER: NioReplicationThread - Received msg:UniqueId{48, -7, -97, -123, >> -116, -54, 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} at 2010-06-28 >> 10:27:40.78 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.NioReceiver events >> FINER: Processing event in >> > selector:org.apache.catalina.tribes.transport.nio.nioreplicationtas...@5 >> 637dde9 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.group.ChannelCoordinator messageReceived >> FINER: ChannelCoordinator - Received msg:UniqueId{48, -7, -97, -123, >> -116, -54, 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} at 2010-06-28 >> 10:27:40.78 from tcp://{127, 0, 0, 1}:4010 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.NioReplicationTask$1 run >> FINER: Registering key for read:sun.nio.ch.selectionkeyi...@1bd7b222 >> Jun 28, 2010 10:27:40 AM org.apache.catalina.tribes.group.GroupChannel >> messageReceived >> FINER: GroupChannel - Received msg:UniqueId{48, -7, -97, -123, -116, >> -54, 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} at 2010-06-28 >> 10:27:40.78 from tcp://{127, 0, 0, 1}:4010 >> Jun 28, 2010 10:27:40 AM org.apache.catalina.tribes.group.GroupChannel >> messageReceived >> FINER: GroupChannel - Receive Message:UniqueId{48, -7, -97, -123, > -116, >> -54, 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} is >> SingleSignOnMessage[action=3, ssoId=7BA0AB7AE2BFDB08CE2EBE8F42D3E89C, >> sessionId=null, username=null] >> Jun 28, 2010 10:27:40 AM org.apache.catalina.ha.tcp.SimpleTcpCluster >> messageReceived >> FINE: Assuming clocks are synched: Replication for >> 7BA0AB7AE2BFDB08CE2EBE8F42D3E89C#-#1277746060782 took=1277746060782 > ms. >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.ha.authenticator.ClusterSingleSignOnListener >> messageReceived >> FINE: SingleSignOnMessage Received with action 3 >> Jun 28, 2010 10:27:40 AM > org.apache.catalina.authenticator.SingleSignOn >> deregister >> FINE: Deregistering sso id '7BA0AB7AE2BFDB08CE2EBE8F42D3E89C' >> Jun 28, 2010 10:27:40 AM > org.apache.catalina.authenticator.SingleSignOn >> deregister >> FINER: Invalidating session >> DeltaSession[C0641336BF4E6B4654927AA3337EAB9F.jvm1] >> 2010 10:27:40 AM org.apache.catalina.tribes.group.GroupChannel >> messageReceived >> FINER: GroupChannel delivered[true] id:UniqueId{48, -7, -97, -123, > -116, >> -54, 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.NioReplicationTask sendAck >> FINER: ACK sent to 55801 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.ParallelNioSender doLoop >> FINER: ParallelNioSender - Sent msg:UniqueId{48, -7, -97, -123, -116, >> -54, 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} at 2010-06-28 >> 10:27:40.785 to tcp://{127, 0, 0, 1}:4010 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.transport.nio.ParallelNioSender doLoop >> FINER: ParallelNioSender - Sent msg:UniqueId{48, -7, -97, -123, -116, >> -54, 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} at 2010-06-28 >> 10:27:40.786 to tcp://{127, 0, 0, 1}:4020 >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.tribes.group.ChannelCoordinator sendMessage >> FINER: ChannelCoordinator - Sent msg:UniqueId{48, -7, -97, -123, -116, >> -54, 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} at 2010-06-28 >> 10:27:40.786 to {tcp://{127, 0, 0, 1}:4010, tcp://{127, 0, 0, 1}:4020} >> Jun 28, 2010 10:27:40 AM org.apache.catalina.tribes.group.GroupChannel >> send >> FINER: GroupChannel - Sent msg:UniqueId{48, -7, -97, -123, -116, -54, >> 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} at 2010-06-28 > 10:27:40.787 >> to {tcp://{127, 0, 0, 1}:4010, tcp://{127, 0, 0, 1}:4020} >> Jun 28, 2010 10:27:40 AM org.apache.catalina.tribes.group.GroupChannel >> send >> FINER: GroupChannel - Send Message:UniqueId{48, -7, -97, -123, -116, >> -54, 78, -17, -115, -13, -34, 116, 39, 49, 95, 17} is >> SingleSignOnMessage[action=3, ssoId=7BA0AB7AE2BFDB08CE2EBE8F42D3E89C, >> sessionId=null, username=null] >> Jun 28, 2010 10:27:40 AM >> org.apache.catalina.ha.authenticator.ClusterSingleSignOn deregister >> FINE: SingleSignOnMessage Send with action 3 >> Jun 28, 2010 10:27:40 AM > org.apache.catalina.authenticator.SingleSignOn >> deregister >> FINE: Deregistering sso id '7BA0AB7AE2BFDB08CE2EBE8F42D3E89C' >> Jun 28, 2010 10:27:40 AM org.apache.catalina.connector.MapperListener >> handleNotification >> FINE: Handle Catalina:type=Manager,path=/cluster,host=webclust2 type : >> JMX.mbean.unregistered >> Jun 28, 2010 10:27:40 AM org.apache.catalina.connector.MapperListener >> handleNotification >> FINE: Handle Catalina:type=Manager,path=/cluster,host=webclust2 type : >> JMX.mbean.unregistered >> Jun 28, 2010 10:27:40 AM org.apache.catalina.core.StandardContext >> listenerStop >> FINE: Sending application stop events >> >> >> >> /** >> * Notifies the cluster that a single sign on session >> * has been terminated due to a user logout, deregister >> * the specified single sign on identifier, and invalidate >> * any associated sessions on the local node. >> * >> * @param ssoId Single sign on identifier to deregister >> */ >> protected void deregister(String ssoId) { >> >> if (cluster != null) { >> messageNumber++; >> SingleSignOnMessage msg = >> new SingleSignOnMessage(cluster.getLocalMember(), >> ssoId, null); >> msg.setAction(SingleSignOnMessage.LOGOUT_SESSION); >> >> cluster.sendClusterDomain(msg); >> if (containerLog.isDebugEnabled()) >> containerLog.debug("SingleSignOnMessage Send with action >> " >> + msg.getAction()); >> } >> >> deregisterLocal(ssoId); >> >> } >> >> protected void deregisterLocal(String ssoId) { >> >> super.deregister(ssoId); >> >> } >> >> >> -----Original Message----- >> From: Pid [mailto:p...@pidster.com] >> Sent: Friday, June 25, 2010 4:29 AM >> To: Tomcat Users List >> Subject: Re: question for sso session replication in tomcat 6.0.26 >> >> On 24/06/2010 21:49, Okubo, Yasushi (TSD) wrote: >>> My bad. >>> >>> I added *.jsp to the filter since it contains the path to index page >> as >>> follows. Now, I am wondering when sso session id is created and >>> replicated, is it when index.jsp was accessed or login.jsp was >> accessed? >> >> You had added it and have now removed it? >> >> The normal session id is created when you access a JSP for the first >> time, unless you have specifically configured JSPs to not create a >> session. A session can also be created manually by a Filter or a >> Servlet. >> >> The SSO session is created when the container login process completes >> authentication successfully. >> >> I'm not entirely clear on when SSO replication occurs - presumably > only >> when there's a change like session invalidation or creation. >> >> >> p >> >> >>> == index.jsp == >>> <% response.sendRedirect("/test/index.html?homepage=dyn&prop=Home"); >> %> >>> >>> -----Original Message----- >>> From: Okubo, Yasushi (TSD) >>> Sent: Thursday, June 24, 2010 1:13 PM >>> To: 'Tomcat Users List' >>> Subject: RE: question for sso session replication in tomcat 6.0.26 >>> >>> >>> Hi Pid >>> >>> I started getting the following error upon login to one node onto >>> cluster. >>> Could you tell me what this mean is? >>> >>> Yasushi >>> >>> >>> Jun 24, 2010 10:51:58 AM org.apache.catalina.ha.tcp.ReplicationValve >>> sendReplicationMessage >>> SEVERE: Unable to perform replication request. >>> java.lang.NullPointerException >>> at >>> >> > org.apache.catalina.ha.tcp.ReplicationValve.isRequestWithoutSessionChang >>> e(ReplicationValve.java:590) >>> at >>> >> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessag >>> e(ReplicationValve.java:516) >>> at >>> >> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(Repli >>> cationValve.java:430) >>> at >>> >> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java >>> :363) >>> at >>> >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java >>> :102) >>> at >>> >> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555 >>> ) >>> at >>> >> > org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java: >>> 421) >>> at >>> >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. >>> java:109) >>> at >>> >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2 >>> 98) >>> at >>> >> > org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:427) >>> at >>> >> > org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpApr >>> Protocol.java:384) >>> at >>> >> > org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555) >>> at java.lang.Thread.run(Thread.java:619) >>> >>> >> >> > > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org