You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2018/04/03 20:50:58 UTC

[2/3] hbase git commit: Amend HBASE-20322 CME in StoreScanner causes region server crash

Amend HBASE-20322 CME in StoreScanner causes region server crash

memStoreScanners is immutable so create a new list for closing.

Signed-off-by: Andrew Purtell <ap...@apache.org>


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

Branch: refs/heads/branch-1.4
Commit: 98c6f8a3f6a48610d825351717d82053db045b3a
Parents: 7e2d7ed
Author: Thiruvel Thirumoolan <th...@oath.com>
Authored: Fri Mar 30 13:12:53 2018 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Tue Apr 3 13:22:39 2018 -0700

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/regionserver/StoreScanner.java   | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/98c6f8a3/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index 0280906..678308b 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -859,7 +859,8 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     try {
       if (this.closing) {
         // Lets close scanners created by caller, since close() won't notice this.
-        clearAndClose(memStoreScanners);
+        // memStoreScanners is immutable, so lets create a new list.
+        clearAndClose(new ArrayList<>(memStoreScanners));
         return;
       }
       flushed = true;