Преглед на файлове

HADOOP-207, Fix JDK 1.4 incompatible use of System.getenv().

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@405853 13f79535-47bb-0310-9956-ffa450edef68
Doug Cutting преди 19 години
родител
ревизия
51c6422a60
променени са 5 файла, в които са добавени 16 реда и са изтрити 7 реда
  1. 3 0
      CHANGES.txt
  2. 6 2
      bin/hadoop
  3. 1 1
      bin/hadoop-daemon.sh
  4. 5 3
      src/java/org/apache/hadoop/util/LogFormatter.java
  5. 1 1
      src/test/org/apache/hadoop/dfs/ClusterTestDFSNamespaceLogging.java

+ 3 - 0
CHANGES.txt

@@ -8,6 +8,9 @@ Trunk (unreleased)
 
  2. HADOOP-201.  Fix 'bin/hadoop dfs -report'.  (cutting)
 
+ 3. HADOOP-207.  Fix JDK 1.4 incompatibility introduced by HADOOP-96.
+    System.getenv() does not work in JDK 1.4.  (Hairong Kuang via cutting)
+
 
 Release 0.2.0 - 2006-05-05
 

+ 6 - 2
bin/hadoop

@@ -143,9 +143,13 @@ fi
 # cygwin path translation
 if expr `uname` : 'CYGWIN*' > /dev/null; then
   CLASSPATH=`cygpath -p -w "$CLASSPATH"`
-  HADOOP_HOME=`cygpath -p -w "$HADOOP_HOME"`
-  HADOOP_LOG_DIR=`cygpath -p -w "$HADOOP_LOG_DIR"`
+  HADOOP_HOME=`cygpath -d "$HADOOP_HOME"`
+  HADOOP_LOG_DIR=`cygpath -d "$HADOOP_LOG_DIR"`
 fi
 
+HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.log.dir=$HADOOP_LOG_DIR"
+HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.home.dir=$HADOOP_HOME"
+HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.id.str=$HADOOP_IDENT_STRING"
+
 # run it
 exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"

+ 1 - 1
bin/hadoop-daemon.sh

@@ -58,7 +58,7 @@ if [ "$HADOOP_PID_DIR" = "" ]; then
 fi
 
 if [ "$HADOOP_IDENT_STRING" = "" ]; then
-  HADOOP_IDENT_STRING=$USER
+  export HADOOP_IDENT_STRING="$USER"
 fi
 
 # some variables

+ 5 - 3
src/java/org/apache/hadoop/util/LogFormatter.java

@@ -49,10 +49,10 @@ public class LogFormatter extends Formatter {
 
   public static String initFileHandler( Configuration conf, String opName )
       throws IOException {
-          String logDir=System.getenv("HADOOP_LOG_DIR");
+          String logDir=System.getProperty("hadoop.log.dir");
           String userHome=System.getProperty("user.dir");
           if( logDir==null ) {
-        	  logDir=System.getenv("HADOOP_HOME");
+        	  logDir=System.getProperty("hadoop.home.dir");
         	  if(logDir==null) {
         		  logDir=userHome;
         	  } else {
@@ -82,7 +82,9 @@ public class LogFormatter extends Formatter {
           	hostname="localhost";
           }
           
-          String logFile = logDir+File.separator+"hadoop-"+System.getProperty( "user.name" )
+          String id = System.getProperty( "hadoop.id.str", 
+                                          System.getProperty("user.name") );
+          String logFile = logDir+File.separator+"hadoop-"+id
                +"-"+opName+"-"+hostname+".log";
 
           int logFileSize = conf.getInt( "hadoop.logfile.size", 10000000 );

+ 1 - 1
src/test/org/apache/hadoop/dfs/ClusterTestDFSNamespaceLogging.java

@@ -334,7 +334,7 @@ public class ClusterTestDFSNamespaceLogging extends TestCase implements FSConsta
 	conf.setLong("dfs.blockreport.intervalMsec", 50*1000L);
 	conf.setLong("dfs.datanode.startupMsec", 15*1000L);
 	conf.setInt("dfs.replication", 2);
-	//System.setProperty("HADOOP_LOG_DIR", baseDirSpecified+"/logs");
+	System.setProperty("hadoop.log.dir", baseDirSpecified+"/logs");
 	conf.setInt("hadoop.logfile.count", 1);
 	conf.setInt("hadoop.logfile.size", 1000000000);