Hi,

I got the latest code from branch-0.23 and got the below error. Think this
is related to HADOOP-6614.

[ERROR]
/home/praveensripati/Hadoop/0.23/source/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java:[171,31]
local variable workDir is accessed from within inner class; needs to be
declared final

The error is around this block

    Runtime.getRuntime().addShutdownHook(new Thread() {
        public void run() {
          FileUtil.fullyDelete(workDir);
        }
      });


JLS says

http://java.sun.com/docs/books/jls/third_edition/html/classes.html

Any local variable, formal method parameter or exception handler parameter
used but not declared in an inner class must be declared final. Any local
variable, used but not declared in an inner class must be definitely
assigned (ยง16) before the body of the inner class.

Should workDir be declared as final?

Thanks,
Praveen

Reply via email to