Repository: hbase Updated Branches: refs/heads/branch-1 875a12de0 -> 9ced0c936 refs/heads/branch-1.3 9eaafe1ee -> 0db4bd3aa refs/heads/branch-1.4 7e2d7edbc -> 98c6f8a3f
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 <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0db4bd3a Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0db4bd3a Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0db4bd3a Branch: refs/heads/branch-1.3 Commit: 0db4bd3aa71ecd7770430c428cf01d238ec06fa7 Parents: 9eaafe1 Author: Thiruvel Thirumoolan <[email protected]> Authored: Fri Mar 30 13:12:53 2018 -0700 Committer: Andrew Purtell <[email protected]> Committed: Tue Apr 3 13:20:47 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/0db4bd3a/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 1b2361d..da2f5ae 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 @@ -823,7 +823,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;
