You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by om...@apache.org on 2011/03/08 06:53:41 UTC

svn commit: r1079190 - /hadoop/mapreduce/branches/yahoo-merge/src/examples/org/apache/hadoop/examples/terasort/TeraInputFormat.java

Author: omalley
Date: Tue Mar  8 05:53:41 2011
New Revision: 1079190

URL: http://svn.apache.org/viewvc?rev=1079190&view=rev
Log:
commit 4e6ee89ca1c8c3a868ad2a6a004a11b1259548fc
Author: Richard King <dk...@yahoo-inc.com>
Date:   Thu Nov 25 01:11:51 2010 +0000

    fixes NPE within TestTeraSort
    
    +++ b/YAHOO-CHANGES.txt
    +
    +  Bug 4171528 -- NPE within TestTeraSort (dking)
    +  from
    +

Modified:
    hadoop/mapreduce/branches/yahoo-merge/src/examples/org/apache/hadoop/examples/terasort/TeraInputFormat.java

Modified: hadoop/mapreduce/branches/yahoo-merge/src/examples/org/apache/hadoop/examples/terasort/TeraInputFormat.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/yahoo-merge/src/examples/org/apache/hadoop/examples/terasort/TeraInputFormat.java?rev=1079190&r1=1079189&r2=1079190&view=diff
==============================================================================
--- hadoop/mapreduce/branches/yahoo-merge/src/examples/org/apache/hadoop/examples/terasort/TeraInputFormat.java (original)
+++ hadoop/mapreduce/branches/yahoo-merge/src/examples/org/apache/hadoop/examples/terasort/TeraInputFormat.java Tue Mar  8 05:53:41 2011
@@ -61,19 +61,32 @@ public class TeraInputFormat extends Fil
   private static List<InputSplit> lastResult = null;
 
   static class TeraFileSplit extends FileSplit {
+    static private String[] ZERO_LOCATIONS = new String[0];
+
     private String[] locations;
-    public TeraFileSplit() {}
+
+    public TeraFileSplit() {
+      locations = ZERO_LOCATIONS;
+    }
     public TeraFileSplit(Path file, long start, long length, String[] hosts) {
       super(file, start, length, hosts);
-      locations = hosts;
+      try {
+        locations = super.getLocations();
+      } catch (IOException e) {
+        locations = ZERO_LOCATIONS;
+      }
     }
+
+    // XXXXXX should this also be null-protected?
     protected void setLocations(String[] hosts) {
       locations = hosts;
     }
+
     @Override
     public String[] getLocations() {
       return locations;
     }
+
     public String toString() {
       StringBuffer result = new StringBuffer();
       result.append(getPath());