[
https://issues.apache.org/jira/browse/HDFS-13913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Templeton updated HDFS-13913:
------------------------------------
Status: Patch Available (was: Open)
> LazyPersistFileScrubber.run() error handling is poor
> ----------------------------------------------------
>
> Key: HDFS-13913
> URL: https://issues.apache.org/jira/browse/HDFS-13913
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: namenode
> Affects Versions: 3.1.0
> Reporter: Daniel Templeton
> Assignee: Daniel Green
> Priority: Minor
> Attachments: HDFS-13913.001.patch
>
>
> In {{LazyPersistFileScrubber.run()}} we have:
> {code}
> try {
> clearCorruptLazyPersistFiles();
> } catch (Exception e) {
> FSNamesystem.LOG.error(
> "Ignoring exception in LazyPersistFileScrubber:", e);
> }
> {code}
> First problem is that catching {{Exception}} is sloppy. It should instead be
> a multicatch for the actual exceptions thrown or better a set of separate
> catch statements that react appropriately to the type of exception.
> Second problem is that it's bad to log an ERROR that's not actionable and
> that can be safely ignored. The log message should be logged at WARN or INFO
> level.
> Third, the log message is useless. If it's going to be a WARN or ERROR, a
> log message should be actionable. Otherwise it's an info. A log message
> should contain enough information for an admin to understand what it means.
> In the end, I think the right thing here is to leave the high-level behavior
> unchanged: log a message and ignore the error, hoping that the next run will
> go better.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]