Author: kfujino Date: Tue Feb 17 02:20:11 2015 New Revision: 1660266 URL: http://svn.apache.org/r1660266 Log: Make sure that add to the backup node of the map entry when map member has been added to ReplicatedMap.
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java?rev=1660266&r1=1660265&r2=1660266&view=diff ============================================================================== --- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java (original) +++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java Tue Feb 17 02:20:11 2015 @@ -203,4 +203,29 @@ public class ReplicatedMap<K,V> extends long complete = System.currentTimeMillis() - start; if (log.isInfoEnabled()) log.info("Relocation of map entries was complete in " + complete + " ms."); } + + public void mapMemberAdded(Member member) { + if ( member.equals(getChannel().getLocalMember(false)) ) return; + boolean memberAdded = false; + synchronized (mapMembers) { + if (!mapMembers.containsKey(member) ) { + mapMembers.put(member, new Long(System.currentTimeMillis())); + memberAdded = true; + } + } + if ( memberAdded ) { + synchronized (stateMutex) { + Member[] backup = getMapMembers(); + Iterator<Map.Entry<K,MapEntry<K,V>>> i = innerMap.entrySet().iterator(); + while (i.hasNext()) { + Map.Entry<K,MapEntry<K,V>> e = i.next(); + MapEntry<K,V> entry = innerMap.get(e.getKey()); + if ( entry == null ) continue; + if (entry.isPrimary() && !inSet(member,entry.getBackupNodes())) { + entry.setBackupNodes(backup); + } + } + } + } + } } \ No newline at end of file Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1660266&r1=1660265&r2=1660266&view=diff ============================================================================== --- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Tue Feb 17 02:20:11 2015 @@ -55,6 +55,14 @@ </fix> </changelog> </subsection> + <subsection name="Tribes"> + <changelog> + <fix> + Make sure that add to the backup node of the map entry when map member + has been added to <code>ReplicatedMap</code>. (kfujino) + </fix> + </changelog> + </subsection> </section> <section name="Tomcat 8.0.20 (markt)" rtext="voting in progress"> <subsection name="Coyote"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org