[ https://issues.apache.org/jira/browse/HDFS-12619?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wei-Chiu Chuang updated HDFS-12619: ----------------------------------- Attachment: HDFS-12619.001.patch Attach a trivial patch to improve the error handling. > Do not catch and throw unchecked exceptions if IBRs fail to process > ------------------------------------------------------------------- > > Key: HDFS-12619 > URL: https://issues.apache.org/jira/browse/HDFS-12619 > Project: Hadoop HDFS > Issue Type: Improvement > Components: namenode > Affects Versions: 2.8.0, 2.7.3, 3.0.0-alpha1 > Reporter: Wei-Chiu Chuang > Assignee: Wei-Chiu Chuang > Priority: Minor > Attachments: HDFS-12619.001.patch > > > HDFS-9198 added the following code > {code:title=BlockManager#processIncrementalBlockReport} > public void processIncrementalBlockReport(final DatanodeID nodeID, > final StorageReceivedDeletedBlocks srdb) throws IOException { > assert namesystem.hasWriteLock(); > final DatanodeDescriptor node = datanodeManager.getDatanode(nodeID); > if (node == null || !node.isRegistered()) { > blockLog.warn("BLOCK* processIncrementalBlockReport" > + " is received from dead or unregistered node {}", nodeID); > throw new IOException( > "Got incremental block report from unregistered or dead node"); > } > try { > processIncrementalBlockReport(node, srdb); > } catch (Exception ex) { > node.setForceRegistration(true); > throw ex; > } > } > {code} > In Apache Hadoop 2.7.x ~ 3.0, the code snippet is accepted by Java compiler. > However, when I attempted to backport it to a CDH5.3 release (based on Apache > Hadoop 2.5.0), the compiler complains the exception is unhandled, because the > method defines it throws IOException instead of Exception. > While the code compiles for Apache Hadoop 2.7.x ~ 3.0, I feel it is not a > good practice to catch an unchecked exception and then rethrow it. How about > rewriting it with a finally block and a conditional variable? -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org