瀏覽代碼

i?\127svn merge -c 1341151. FIXES: MAPREDUCE-4274 MapOutputBuffer should use native byte order for kvmeta. (todd via bobby)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1341153 13f79535-47bb-0310-9956-ffa450edef68
Robert Joseph Evans 13 年之前
父節點
當前提交
1586e827ed

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -21,6 +21,9 @@ Release 2.0.1-alpha - UNRELEASED
     MAPREDUCE-4002. MultiFileWordCount job fails if the input path is not
     MAPREDUCE-4002. MultiFileWordCount job fails if the input path is not
     from default file system. (Bhallamudi Venkata Siva Kamesh via todd)
     from default file system. (Bhallamudi Venkata Siva Kamesh via todd)
 
 
+    MAPREDUCE-4274 MapOutputBuffer should use native byte order for kvmeta.
+    (todd via bobby)
+
 Release 2.0.0-alpha - UNRELEASED
 Release 2.0.0-alpha - UNRELEASED
 
 
   INCOMPATIBLE CHANGES
   INCOMPATIBLE CHANGES

+ 4 - 1
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/MapTask.java

@@ -25,6 +25,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStream;
 import java.nio.ByteBuffer;
 import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
 import java.nio.IntBuffer;
 import java.nio.IntBuffer;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
@@ -911,7 +912,9 @@ class MapTask extends Task {
       maxMemUsage -= maxMemUsage % METASIZE;
       maxMemUsage -= maxMemUsage % METASIZE;
       kvbuffer = new byte[maxMemUsage];
       kvbuffer = new byte[maxMemUsage];
       bufvoid = kvbuffer.length;
       bufvoid = kvbuffer.length;
-      kvmeta = ByteBuffer.wrap(kvbuffer).asIntBuffer();
+      kvmeta = ByteBuffer.wrap(kvbuffer)
+         .order(ByteOrder.nativeOrder())
+         .asIntBuffer();
       setEquator(0);
       setEquator(0);
       bufstart = bufend = bufindex = equator;
       bufstart = bufend = bufindex = equator;
       kvstart = kvend = kvindex;
       kvstart = kvend = kvindex;