On 28/06/2010 23:19, Okubo, Yasushi (TSD) wrote:
> 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.  

I didn't ask you to move expireSessionsOnShutdown, I asked you not to
set the name attribute.

    /**
     * Return the descriptive short name of this Manager implementation.
     */
    public String getName() {
        return name;
    }


It's the only thing I can see in your config that looks weird.  I'm not
really sure how it could affect things, but it might, so don't set it,
please.


> 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? 

I don't know.  Certainly seems odd, I'll look into the
expireSessionsOnShutdown attribute again tomorrow.


p


> 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)
>>>>
>>>>
>>>
>>>
>>
>>
>>
> 
> 
> 


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to