From 05cdca070e1cd3913c7352f12b43b64ea27eed52 Mon Sep 17 00:00:00 2001 From: Vinod Kumar Vavilapalli Date: Sat, 1 Jun 2013 22:21:43 +0000 Subject: [PATCH] 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 --- hadoop-mapreduce-project/CHANGES.txt | 3 +++ .../mapreduce/security/SecureShuffleUtils.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 6716231bd90..b4e0c03418c 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/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 diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/security/SecureShuffleUtils.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/security/SecureShuffleUtils.java index d971facd97e..2c28ec7dcd6 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/security/SecureShuffleUtils.java +++ b/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 static String buildMsgFrom(HttpServletRequest request ) { 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(); + } }