songwanging created HDFS-8841:
---------------------------------

             Summary: Catch throwable return null
                 Key: HDFS-8841
                 URL: https://issues.apache.org/jira/browse/HDFS-8841
             Project: Hadoop HDFS
          Issue Type: Bug
            Reporter: songwanging
            Priority: Minor


In method "map" of class: 
\hadoop-2.7.1-src\hadoop-tools\hadoop-extras\src\main\java\org\apache\hadoop\tools\DistCpV1.java.

This method has this code:

 public void map(LongWritable key,
                    FilePair value,
                    OutputCollector<WritableComparable<?>, Text> out,
                    Reporter reporter) throws IOException {
         ...
            } catch (Throwable ex) {
              // ignore, we are just cleaning up
              LOG.debug("Ignoring cleanup exception", ex);
            }
           ....
          }
        } 
        ...
    }

Throwable is the parent type of Exception and Error, so catching Throwable 
means catching both Exceptions as well as Errors. An Exception is something you 
could recover (like IOException), an Error is something more serious and 
usually you could'nt recover easily (like ClassNotFoundError) so it doesn't 
make much sense to catch an Error.

We should  convert to catch Exception instead.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to