Return-Path: X-Original-To: apmail-tomcat-dev-archive@www.apache.org Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C42C3109F5 for ; Tue, 3 Dec 2013 10:17:04 +0000 (UTC) Received: (qmail 39964 invoked by uid 500); 3 Dec 2013 10:16:27 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 39897 invoked by uid 500); 3 Dec 2013 10:16:22 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 39861 invoked by uid 99); 3 Dec 2013 10:16:16 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Dec 2013 10:16:16 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Dec 2013 10:16:15 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 1A3BD23888A6 for ; Tue, 3 Dec 2013 10:15:55 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1547333 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java webapps/docs/changelog.xml Date: Tue, 03 Dec 2013 10:15:54 -0000 To: dev@tomcat.apache.org From: kfujino@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20131203101555.1A3BD23888A6@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: kfujino Date: Tue Dec 3 10:15:54 2013 New Revision: 1547333 URL: http://svn.apache.org/r1547333 Log: -When the ping timeouted, make sure that memberDisappeared method is not called by specifying the members that has already been removed. -Add log message of session relocation when member disappeared. Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1547333&r1=1547332&r2=1547333&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Tue Dec 3 10:15:54 2013 @@ -278,14 +278,12 @@ public abstract class AbstractReplicated } //update our map of members, expire some if we didn't receive a ping back synchronized (mapMembers) { - Iterator> it = mapMembers.entrySet().iterator(); + Member[] members = mapMembers.keySet().toArray(new Member[mapMembers.size()]); long now = System.currentTimeMillis(); - while ( it.hasNext() ) { - Map.Entry entry = it.next(); - long access = entry.getValue().longValue(); + for (Member member : members) { + long access = mapMembers.get(member); if ( (now - access) > timeout ) { - it.remove(); - memberDisappeared(entry.getKey()); + memberDisappeared(member); } } }//synch @@ -778,6 +776,9 @@ public abstract class AbstractReplicated } } + if (log.isInfoEnabled()) + log.info("Member["+member+"] disappeared. Related map entries will be relocated to the new node."); + long start = System.currentTimeMillis(); @SuppressWarnings("unchecked") Iterator> i = super.entrySet().iterator(); while (i.hasNext()) { @@ -826,6 +827,8 @@ public abstract class AbstractReplicated } } //while + long complete = System.currentTimeMillis() - start; + if (log.isInfoEnabled()) log.info("Relocation of map entries was complete in " + complete + " ms."); } public int getNextBackupIndex() { Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1547333&r1=1547332&r2=1547333&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Tue Dec 3 10:15:54 2013 @@ -282,6 +282,14 @@ org.apache.catalina.ha.session.DeltaManager via JMX. (kfujino) + + When the ping timeouted, make sure that memberDisappeared + method is not called by specifying the members that has already been + removed. (kfujino) + + + Add log message of session relocation when member disappeared. (kfujino) + --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org