HBASE-3674 Treat ChecksumException as we would a ParseException splitting logs; else we replay split on every restart -- fixup for distributed log splitting
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1096839 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6164a0cb85
commit
7437b11bec
|
@ -333,7 +333,7 @@ public class HLogSplitter {
|
||||||
|
|
||||||
boolean progress_failed = false;
|
boolean progress_failed = false;
|
||||||
|
|
||||||
boolean skipErrors = conf.getBoolean("hbase.hlog.split.skip.errors", false);
|
boolean skipErrors = conf.getBoolean("hbase.hlog.split.skip.errors", true);
|
||||||
int interval = conf.getInt("hbase.splitlog.report.interval.loglines", 1024);
|
int interval = conf.getInt("hbase.splitlog.report.interval.loglines", 1024);
|
||||||
// How often to send a progress report (default 1/2 master timeout)
|
// How often to send a progress report (default 1/2 master timeout)
|
||||||
int period = conf.getInt("hbase.splitlog.report.period",
|
int period = conf.getInt("hbase.splitlog.report.period",
|
||||||
|
@ -685,8 +685,11 @@ public class HLogSplitter {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// If the IOE resulted from bad file format,
|
// If the IOE resulted from bad file format,
|
||||||
// then this problem is idempotent and retrying won't help
|
// then this problem is idempotent and retrying won't help
|
||||||
if (e.getCause() instanceof ParseException) {
|
if (e.getCause() != null &&
|
||||||
LOG.warn("ParseException from hlog " + path + ". continuing");
|
(e.getCause() instanceof ParseException ||
|
||||||
|
e.getCause() instanceof org.apache.hadoop.fs.ChecksumException) {
|
||||||
|
LOG.warn("Parse exception " + e.getCause().toString() + " from hlog "
|
||||||
|
+ path + ". continuing");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (!skipErrors) {
|
if (!skipErrors) {
|
||||||
|
|
Loading…
Reference in New Issue