[
https://issues.apache.org/jira/browse/HDFS-13913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16885372#comment-16885372
]
Daniel Green commented on HDFS-13913:
-------------------------------------
updated the error message to be more sensible as a warning rather than error,
opting not to address the multi-catch suggestion above – [[email protected]]
> 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
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]