Repository: hbase
Updated Branches:
  refs/heads/0.94 8f9faabf5 -> 6bf164109


HBASE-12023 HRegion.applyFamilyMapToMemstore creates too many iterator objects. 
(Vladimir Rodionov)


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

Branch: refs/heads/0.94
Commit: 6bf1641094e5ba91e78e151a3d2dc6fa099ebc74
Parents: 8f9faab
Author: Lars Hofhansl <[email protected]>
Authored: Fri Sep 19 12:01:37 2014 -0700
Committer: Lars Hofhansl <[email protected]>
Committed: Fri Sep 19 12:01:37 2014 -0700

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


http://git-wip-us.apache.org/repos/asf/hbase/blob/6bf16410/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 
b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index eaa02d1..bf3a193 100644
--- a/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -39,6 +39,7 @@ import java.util.Map;
 import java.util.NavigableMap;
 import java.util.NavigableSet;
 import java.util.Random;
+import java.util.RandomAccess;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.UUID;
@@ -3108,9 +3109,11 @@ public class HRegion implements HeapSize { // , Writable{
       for (Map.Entry<byte[], List<KeyValue>> e : familyMap.entrySet()) {
         byte[] family = e.getKey();
         List<KeyValue> edits = e.getValue();
-
+        assert edits instanceof RandomAccess;
         Store store = getStore(family);
-        for (KeyValue kv: edits) {
+        int listSize = edits.size();
+        for (int i=0; i< listSize; i++) {
+          KeyValue kv = edits.get(i);
           kv.setMemstoreTS(localizedWriteEntry.getWriteNumber());
           size += store.add(kv);
         }

Reply via email to