Details
Description
HDFS-9198 added the following code
public void processIncrementalBlockReport(final DatanodeID nodeID, final StorageReceivedDeletedBlocks srdb) throws IOException { ... try { processIncrementalBlockReport(node, srdb); } catch (Exception ex) { node.setForceRegistration(true); throw ex; } }
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?
Attachments
Attachments
Issue Links
- relates to
-
HDFS-9198 Coalesce IBR processing in the NN
- Closed