Bladeren bron

MAPREDUCE-5274. Bring back SecureShuffleUtils.toHex in mapreduce for binary compatibility with 1.x APIs. Contributed by Mayank Bansal.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1488625 13f79535-47bb-0310-9956-ffa450edef68
Vinod Kumar Vavilapalli 12 jaren geleden
bovenliggende
commit
05cdca070e

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

@@ -273,6 +273,9 @@ Release 2.1.0-beta - UNRELEASED
     MAPREDUCE-5229. Put back FileOutputCommitter.TEMP_DIR_NAME in mapreduce for
     binary compatibility with 1.x APIs. (Zhijie Shen via vinodkv)
 
+    MAPREDUCE-5274. Bring back SecureShuffleUtils.toHex in mapreduce for binary
+    compatibility with 1.x APIs. (Mayank Bansal via vinodkv)
+
   OPTIMIZATIONS
 
     MAPREDUCE-4974. Optimising the LineRecordReader initialize() method 

+ 17 - 0
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/security/SecureShuffleUtils.java

@@ -18,7 +18,9 @@
 package org.apache.hadoop.mapreduce.security;
 
 
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
+import java.io.PrintStream;
 import java.net.URL;
 
 import javax.crypto.SecretKey;
@@ -131,4 +133,19 @@ public class SecureShuffleUtils {
   private static String buildMsgFrom(String uri_path, String uri_query, int port) {
     return String.valueOf(port) + uri_path + "?" + uri_query;
   }
+
+  /**
+   * byte array to Hex String
+   * 
+   * @param ba
+   * @return string with HEX value of the key
+   */
+  public static String toHex(byte[] ba) {
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    PrintStream ps = new PrintStream(baos);
+    for (byte b : ba) {
+      ps.printf("%x", b);
+    }
+    return baos.toString();
+  }
 }