hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jingchen...@apache.org
Subject hbase git commit: HBASE-18049 It is not necessary to re-open the region when MOB files cannot be found
Date Thu, 18 May 2017 10:57:28 GMT
Repository: hbase
Updated Branches:
  refs/heads/master 37dd8ff72 -> 6dc4190c0


HBASE-18049 It is not necessary to re-open the region when MOB files cannot be found


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

Branch: refs/heads/master
Commit: 6dc4190c07a6e3039f6c32bdc9a8aeb5483ea192
Parents: 37dd8ff
Author: Jingcheng Du <jingchengdu@apache.org>
Authored: Thu May 18 18:54:58 2017 +0800
Committer: Jingcheng Du <jingchengdu@apache.org>
Committed: Thu May 18 18:54:58 2017 +0800

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/regionserver/HMobStore.java | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/6dc4190c/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HMobStore.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HMobStore.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HMobStore.java
index 032e383..73c8a1f 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HMobStore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HMobStore.java
@@ -35,6 +35,7 @@ import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.ArrayBackedTag;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellComparator;
+import org.apache.hadoop.hbase.DoNotRetryIOException;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeyValue;
@@ -427,6 +428,13 @@ public class HMobStore extends HStore {
       + " or it is corrupt");
     if (readEmptyValueOnMobCellMiss) {
       return null;
+    } else if ((throwable instanceof FileNotFoundException)
+        || (throwable.getCause() instanceof FileNotFoundException)) {
+      // The region is re-opened when FileNotFoundException is thrown.
+      // This is not necessary when MOB files cannot be found, because the store files
+      // in a region only contain the references to MOB files and a re-open on a region
+      // doesn't help fix the lost MOB files.
+      throw new DoNotRetryIOException(throwable);
     } else if (throwable instanceof IOException) {
       throw (IOException) throwable;
     } else {


Mime
View raw message