You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by en...@apache.org on 2014/06/28 02:30:54 UTC

[08/49] git commit: HBASE-10633. StoreFileRefresherChore throws ConcurrentModificationException sometimes

HBASE-10633. StoreFileRefresherChore throws ConcurrentModificationException sometimes

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/hbase-10070@1572808 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/aed02168
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/aed02168
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/aed02168

Branch: refs/heads/master
Commit: aed0216810bcc384a619e31bcbf3c7e70adb40f9
Parents: c997c33
Author: Devaraj Das <dd...@apache.org>
Authored: Fri Feb 28 02:48:17 2014 +0000
Committer: Enis Soztutar <en...@apache.org>
Committed: Fri Jun 27 16:39:37 2014 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/regionserver/StorefileRefresherChore.java    | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/aed02168/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java
index aeec21f..ab8af7d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.regionserver;
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.commons.logging.Log;
@@ -104,9 +105,11 @@ public class StorefileRefresherChore extends Chore {
     }
 
     // remove closed regions
-    for (String encodedName : lastRefreshTimes.keySet()) {
+    Iterator<String> lastRefreshTimesIter = lastRefreshTimes.keySet().iterator();
+    while (lastRefreshTimesIter.hasNext()) {
+      String encodedName = lastRefreshTimesIter.next();
       if (regionServer.getFromOnlineRegions(encodedName) == null) {
-        lastRefreshTimes.remove(encodedName);
+        lastRefreshTimesIter.remove();
       }
     }
   }