Hi Pid I think I found a problem. Could you tell me how to fix this? Should I report it to bugzilla?
SingleSignOn sessionEvent is destroying session, but DeltaSession is notifying session expiration to other node on same cluster. == singlesignon == protected void deregister(String ssoId) { if (containerLog.isDebugEnabled()) containerLog.debug("Deregistering sso id '" + ssoId + "'"); // Look up and remove the corresponding SingleSignOnEntry SingleSignOnEntry sso = null; synchronized (cache) { sso = (SingleSignOnEntry) cache.remove(ssoId); } if (sso == null) return; // Expire any associated sessions Session sessions[] = sso.findSessions(); for (int i = 0; i < sessions.length; i++) { if (containerLog.isTraceEnabled()) containerLog.trace(" Invalidating session " + sessions[i]); // Remove from reverse cache first to avoid recursion synchronized (reverse) { reverse.remove(sessions[i]); } // Invalidate this session sessions[i].expire(); <-- this is calling deltasession.expire(true), then dltasession.expire(notify, true) } // NOTE: Clients may still possess the old single sign on cookie, // but it will be removed on the next request since it is no longer // in the cache } == deltasesion == public void expire(boolean notify) { expire(notify, true); } public void expire(boolean notify, boolean notifyCluster) { if (expiring) return; String expiredId = getIdInternal(); if(expiredId != null && manager != null && manager instanceof DeltaManager) { DeltaManager dmanager = (DeltaManager)manager; CatalinaCluster cluster = dmanager.getCluster(); ClusterMessage msg = dmanager.requestCompleted(expiredId, true); if (msg != null) { if(dmanager.doDomainReplication()) { cluster.sendClusterDomain(msg); } else { cluster.send(msg); } } } super.expire(notify); if (notifyCluster) { if (log.isDebugEnabled()) log.debug(sm.getString("deltaSession.notifying", ((ClusterManager)manager).getName(), new Boolean(isPrimarySession()), expiredId)); if ( manager instanceof DeltaManager ) { ( (DeltaManager) manager).sessionExpired(expiredId); } } } 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' --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org