浏览代码

HADOOP-838. Fix tasktracker to pass java.library.path to sub-proceses. Contributed by Arun.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@489489 13f79535-47bb-0310-9956-ffa450edef68
Doug Cutting 18 年之前
父节点
当前提交
204ff254eb
共有 2 个文件被更改,包括 11 次插入0 次删除
  1. 4 0
      CHANGES.txt
  2. 7 0
      src/java/org/apache/hadoop/mapred/TaskRunner.java

+ 4 - 0
CHANGES.txt

@@ -149,6 +149,10 @@ Trunk (unreleased changes)
 41. HADOOP-841.  Fix native library to build 32-bit version even when
     on a 64-bit host, if a 32-bit JVM is used.  (Arun C Murthy via cutting)
 
+42. HADOOP-838.  Fix tasktracker to pass java.library.path to
+    sub-processes, so that libhadoop.a is found.
+    (Arun C Murthy via cutting)
+
 
 Release 0.9.2 - 2006-12-15
 

+ 7 - 0
src/java/org/apache/hadoop/mapred/TaskRunner.java

@@ -208,6 +208,13 @@ abstract class TaskRunner extends Thread {
       vargs.add(TaskTracker.Child.class.getName());  // main of Child
       vargs.add(tracker.taskReportPort + "");        // pass umbilical port
       vargs.add(t.getTaskId());                      // pass task identifier
+      
+      // Add java.library.path; necessary for native-hadoop libraries
+      String libraryPath = System.getProperty("java.library.path");
+      if (libraryPath != null) {
+          vargs.add("-Djava.library.path=" + libraryPath);
+      }
+      
       // Run java
       runChild((String[])vargs.toArray(new String[0]), workDir);
     } catch (FSError e) {