This is an automated email from the ASF dual-hosted git repository.
liuxiaocs7 pushed a commit to branch branch-2.6
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.6 by this push:
new ebd55c2a629 HBASE-30273 Backport HBASE-26107 MOB compaction with
missing files catches incorrect exception to branch-2.x (#8449) (#8452)
ebd55c2a629 is described below
commit ebd55c2a6290cf12f5052a9d6e5279c7d9193580
Author: Xiao Liu <[email protected]>
AuthorDate: Sun Jul 5 23:28:39 2026 +0800
HBASE-30273 Backport HBASE-26107 MOB compaction with missing files catches
incorrect exception to branch-2.x (#8449) (#8452)
(cherry picked from commit 3c70bc1f312bd2a833d408c3af82731e5fee66ea)
Signed-off-by: Duo Zhang <[email protected]>
Signed-off-by: Pankaj Kumar <[email protected]>
Signed-off-by: Peter Somogyi <[email protected]>
Co-authored-by: Peter Somogyi <[email protected]>
---
.../apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java | 10 +++++++---
.../org/apache/hadoop/hbase/mob/FaultyMobStoreCompactor.java | 12 ++++++++----
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
index e726baa8b57..9c147d64e79 100644
---
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
+++
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
@@ -35,6 +35,7 @@ import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.DoNotRetryIOException;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.KeyValueUtil;
import org.apache.hadoop.hbase.PrivateCellUtil;
@@ -395,12 +396,15 @@ public class DefaultMobStoreCompactor extends
DefaultCompactor {
// Added to support migration
try {
mobCell = resolveMobCell(c);
- } catch (FileNotFoundException fnfe) {
- if (discardMobMiss) {
+ } catch (DoNotRetryIOException e) {
+ if (
+ discardMobMiss && e.getCause() != null
+ && e.getCause() instanceof FileNotFoundException
+ ) {
LOG.error("Missing MOB cell: file={} not found cell={}",
fName, c);
continue;
} else {
- throw fnfe;
+ throw e;
}
}
diff --git
a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/FaultyMobStoreCompactor.java
b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/FaultyMobStoreCompactor.java
index 9dd995d42ee..c768b7ac0e8 100644
---
a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/FaultyMobStoreCompactor.java
+++
b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/FaultyMobStoreCompactor.java
@@ -29,6 +29,7 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.DoNotRetryIOException;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.PrivateCellUtil;
import org.apache.hadoop.hbase.TableName;
@@ -191,12 +192,15 @@ public class FaultyMobStoreCompactor extends
DefaultMobStoreCompactor {
// Added to support migration
try {
mobCell = resolveMobCell(c);
- } catch (FileNotFoundException fnfe) {
- if (discardMobMiss) {
- LOG.error("Missing MOB cell: file={} not found", fName);
+ } catch (DoNotRetryIOException e) {
+ if (
+ discardMobMiss && e.getCause() != null
+ && e.getCause() instanceof FileNotFoundException
+ ) {
+ LOG.error("Missing MOB cell: file={} not found cell={}",
fName, c);
continue;
} else {
- throw fnfe;
+ throw e;
}
}