tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pid <...@pidster.com>
Subject Re: question for sso session replication in tomcat 6.0.26
Date Mon, 28 Jun 2010 21:37:25 GMT
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



> -----Original Message-----
> From: Pid [mailto:pid@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.SelectionKeyImpl@1bd7b222
>> Jun 28, 2010 10:27:40 AM
>> org.apache.catalina.tribes.transport.nio.NioReplicationTask run
>> FINER: Servicing key:sun.nio.ch.SelectionKeyImpl@1bd7b222
>> Jun 28, 2010 10:27:40 AM
>> org.apache.catalina.tribes.transport.nio.NioReplicationTask run
>> FINER: Draining channel:sun.nio.ch.SelectionKeyImpl@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.SelectionKeyImpl@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.NioReplicationTask$1@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.NioReplicationTask$1@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.SelectionKeyImpl@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:pid@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)
>>>
>>>
>>
>>
> 
> 
> 



Mime
View raw message