From 2101935142b77f498c978426c2682e1fd584cf5c Mon Sep 17 00:00:00 2001 From: zhuzhengyi1 Date: Mon, 22 Oct 2018 11:28:17 +0800 Subject: [PATCH] add catch for ArrayIndexOutOfBoundsException when check meta edit in SplitLogWorker --- .gitignore | 2 ++ .../java/org/apache/hadoop/hbase/wal/WALSplitter.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 0fce7d4016..f9abb957bc 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ linklint-*.zip linklint/ .checkstyle **/.checkstyle +node_modules +package-lock.json diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java index 254916e67c..d695f5f985 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java @@ -293,9 +293,14 @@ public class WALSplitter { continue; } // Don't send Compaction/Close/Open region events to recovered edit type sinks. - if (entry.getEdit().isMetaEdit() && !outputSink.keepRegionEvent(entry)) { - editsSkipped++; - continue; + try { + if (entry.getEdit().isMetaEdit() && !outputSink.keepRegionEvent(entry)) { + editsSkipped++; + continue; + } + } catch (ArrayIndexOutOfBoundsException e) { + CorruptedLogFileException core = new CorruptedLogFileException(e.toString()); + throw core; } entryBuffers.appendEntry(entry); editsCount++; -- 2.17.0