From 451e5d08cec30fac83eadcc60c16871aa71e5150 Mon Sep 17 00:00:00 2001 From: dvdreddy Date: Wed, 13 Jan 2016 14:10:41 -0800 Subject: [PATCH] HBASE-15101 close un-selected KeyValueScanners to avoid leaking ref counts --- .../main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java | 4 ++++ 1 file changed, 4 insertions(+) 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 3049608..5b4598d 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 @@ -376,6 +376,8 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner /** * Filters the given list of scanners using Bloom filter, time range, and * TTL. + * Returns a pair of lists of scanners where the first element is the + * selected scanners and the second element is the ignored scanners */ protected List selectScannersFrom( final List allScanners) { @@ -407,6 +409,8 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner if (kvs.shouldUseScanner(scan, store, expiredTimestampCutoff)) { scanners.add(kvs); + } else { + kvs.close(); } } return scanners; -- 2.2.1