hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From apurt...@apache.org
Subject [3/3] hbase git commit: Amend HBASE-20322 CME in StoreScanner causes region server crash
Date Tue, 03 Apr 2018 20:50:59 GMT
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 <apurtell@apache.org>


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

Branch: refs/heads/branch-1
Commit: 9ced0c936f4cdea0580482278c24ebecb7c18bb0
Parents: 875a12d
Author: Thiruvel Thirumoolan <thiruvel@oath.com>
Authored: Fri Mar 30 13:12:53 2018 -0700
Committer: Andrew Purtell <apurtell@apache.org>
Committed: Tue Apr 3 13:22:43 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/9ced0c93/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;


Mime
View raw message