HBASE-21088 HStoreFile should be closed in HStore#hasReferences Conflicts: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d07cab18 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d07cab18 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d07cab18 Branch: refs/heads/branch-1 Commit: d07cab18a620661f527dec542fb90eaffa71ef0b Parents: dbb634a Author: tedyu <yuzhih...@gmail.com> Authored: Mon Aug 27 09:38:03 2018 -0700 Committer: Andrew Purtell <apurt...@apache.org> Committed: Wed Sep 5 15:13:06 2018 -0700 ---------------------------------------------------------------------- .../org/apache/hadoop/hbase/regionserver/HStore.java | 11 +++++++++++ 1 file changed, 11 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/d07cab18/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java index 6ce41e3..f10d055 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java @@ -1645,6 +1645,17 @@ public class HStore implements Store { LOG.error("Error trying to determine if store has referenes, " + "assuming references exists", ioe); return true; + } finally { + if (reloadedStoreFiles != null) { + for (StoreFile storeFile : reloadedStoreFiles) { + try { + storeFile.closeReader(false); + } catch (IOException ioe) { + LOG.warn("Encountered exception closing " + storeFile + ": " + ioe.getMessage()); + // continue with closing the remaining store files + } + } + } } return StoreUtils.hasReferences(reloadedStoreFiles); }