You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by dm...@apache.org on 2019/12/28 18:34:30 UTC

[hive] branch master updated: HIVE-22612: Replace Base64 in accumulo-handler Package (David Mollitor, reviewed by Ashutosh Chauhan)

This is an automated email from the ASF dual-hosted git repository.

dmollitor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new ac38ef4  HIVE-22612: Replace Base64 in accumulo-handler Package (David Mollitor, reviewed by Ashutosh Chauhan)
ac38ef4 is described below

commit ac38ef44a092a0c34766e83831edc19cb9272005
Author: David Mollitor <dm...@apache.org>
AuthorDate: Sat Dec 28 13:33:49 2019 -0500

    HIVE-22612: Replace Base64 in accumulo-handler Package (David Mollitor, reviewed by Ashutosh Chauhan)
---
 .../accumulo/predicate/AccumuloPredicateHandler.java    |  5 ++---
 .../accumulo/predicate/PrimitiveComparisonFilter.java   |  4 ++--
 .../accumulo/mr/TestHiveAccumuloTableInputFormat.java   | 17 ++++++-----------
 .../predicate/TestAccumuloPredicateHandler.java         |  6 +++---
 .../predicate/TestPrimitiveComparisonFilter.java        |  6 +++---
 .../java/org/apache/hadoop/hive/ql/exec/Utilities.java  |  6 +++---
 6 files changed, 19 insertions(+), 25 deletions(-)

diff --git a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/AccumuloPredicateHandler.java b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/AccumuloPredicateHandler.java
index 834ed25..6a56618 100644
--- a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/AccumuloPredicateHandler.java
+++ b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/AccumuloPredicateHandler.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hive.accumulo.predicate;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -28,7 +29,6 @@ import java.util.Set;
 
 import org.apache.accumulo.core.client.IteratorSetting;
 import org.apache.accumulo.core.data.Range;
-import org.apache.commons.codec.binary.Base64;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.accumulo.columns.ColumnEncoding;
 import org.apache.hadoop.hive.accumulo.columns.ColumnMapper;
@@ -362,8 +362,7 @@ public class AccumuloPredicateHandler {
     is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, tuple.getpCompare().getClass()
         .getName());
     is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, tuple.getcOpt().getClass().getName());
-    is.addOption(PrimitiveComparisonFilter.CONST_VAL,
-        new String(Base64.encodeBase64(tuple.getConstVal())));
+    is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(tuple.getConstVal()));
     is.addOption(PrimitiveComparisonFilter.COLUMN, accumuloColumnMapping.serialize());
 
     return is;
diff --git a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/PrimitiveComparisonFilter.java b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/PrimitiveComparisonFilter.java
index 544717c..1b914c7 100644
--- a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/PrimitiveComparisonFilter.java
+++ b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/PrimitiveComparisonFilter.java
@@ -18,6 +18,7 @@
 package org.apache.hadoop.hive.accumulo.predicate;
 
 import java.io.IOException;
+import java.util.Base64;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
@@ -30,7 +31,6 @@ import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.iterators.IteratorEnvironment;
 import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
 import org.apache.accumulo.core.iterators.user.WholeRowIterator;
-import org.apache.commons.codec.binary.Base64;
 import org.apache.hadoop.hive.accumulo.columns.ColumnEncoding;
 import org.apache.hadoop.hive.accumulo.columns.ColumnMappingFactory;
 import org.apache.hadoop.hive.accumulo.columns.HiveAccumuloColumnMapping;
@@ -136,6 +136,6 @@ public class PrimitiveComparisonFilter extends WholeRowIterator {
 
   protected byte[] getConstant(Map<String, String> options) {
     String b64Const = options.get(CONST_VAL);
-    return Base64.decodeBase64(b64Const.getBytes());
+    return Base64.getDecoder().decode(b64Const.getBytes());
   }
 }
diff --git a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/mr/TestHiveAccumuloTableInputFormat.java b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/mr/TestHiveAccumuloTableInputFormat.java
index 56beb8f..95cc27d 100644
--- a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/mr/TestHiveAccumuloTableInputFormat.java
+++ b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/mr/TestHiveAccumuloTableInputFormat.java
@@ -26,6 +26,7 @@ import java.io.DataOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
@@ -49,7 +50,6 @@ import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.accumulo.core.util.Pair;
-import org.apache.commons.codec.binary.Base64;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.accumulo.AccumuloConnectionParameters;
 import org.apache.hadoop.hive.accumulo.AccumuloHiveConstants;
@@ -252,8 +252,7 @@ public class TestHiveAccumuloTableInputFormat {
 
     is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, DoubleCompare.class.getName());
     is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, GreaterThanOrEqual.class.getName());
-    is.addOption(PrimitiveComparisonFilter.CONST_VAL,
-        new String(Base64.encodeBase64(parseDoubleBytes("55.6"))));
+    is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(parseDoubleBytes("55.6")));
     is.addOption(PrimitiveComparisonFilter.COLUMN, "cf:dgrs");
     scan.addScanIterator(is);
 
@@ -262,8 +261,7 @@ public class TestHiveAccumuloTableInputFormat {
 
     is2.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, LongCompare.class.getName());
     is2.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, LessThan.class.getName());
-    is2.addOption(PrimitiveComparisonFilter.CONST_VAL,
-        new String(Base64.encodeBase64(parseLongBytes("778"))));
+    is2.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(parseLongBytes("778")));
     is2.addOption(PrimitiveComparisonFilter.COLUMN, "cf:mills");
 
     scan.addScanIterator(is2);
@@ -310,8 +308,7 @@ public class TestHiveAccumuloTableInputFormat {
 
     is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, IntCompare.class.getName());
     is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, GreaterThan.class.getName());
-    is.addOption(PrimitiveComparisonFilter.CONST_VAL,
-        new String(Base64.encodeBase64(parseIntBytes("1"))));
+    is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(parseIntBytes("1")));
     is.addOption(PrimitiveComparisonFilter.COLUMN, "cf:sid");
     scan.addScanIterator(is);
     boolean foundMark = false;
@@ -355,8 +352,7 @@ public class TestHiveAccumuloTableInputFormat {
 
     is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, StringCompare.class.getName());
     is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, Equal.class.getName());
-    is.addOption(PrimitiveComparisonFilter.CONST_VAL,
-        new String(Base64.encodeBase64("brian".getBytes())));
+    is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString("brian".getBytes()));
     is.addOption(PrimitiveComparisonFilter.COLUMN, "cf:name");
     scan.addScanIterator(is);
     boolean foundName = false;
@@ -411,8 +407,7 @@ public class TestHiveAccumuloTableInputFormat {
 
     is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, StringCompare.class.getName());
     is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, Equal.class.getName());
-    is.addOption(PrimitiveComparisonFilter.CONST_VAL,
-        new String(Base64.encodeBase64(new byte[] {'0'})));
+    is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(new byte[] {'0'}));
     is.addOption(PrimitiveComparisonFilter.COLUMN, "cf:cq");
 
     // Mock out the predicate handler because it's just easier
diff --git a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestAccumuloPredicateHandler.java b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestAccumuloPredicateHandler.java
index 0bb50e8..6c0bb36 100644
--- a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestAccumuloPredicateHandler.java
+++ b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestAccumuloPredicateHandler.java
@@ -27,6 +27,7 @@ import static org.junit.Assert.fail;
 import java.io.ByteArrayOutputStream;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -35,7 +36,6 @@ import java.util.Map;
 import org.apache.accumulo.core.client.IteratorSetting;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Range;
-import org.apache.commons.codec.binary.Base64;
 import org.apache.hadoop.hive.accumulo.columns.ColumnEncoding;
 import org.apache.hadoop.hive.accumulo.columns.ColumnMapper;
 import org.apache.hadoop.hive.accumulo.predicate.compare.CompareOp;
@@ -538,7 +538,7 @@ public class TestAccumuloPredicateHandler {
         assertEquals(option.getValue(), "cf:f1");
       } else if (optKey.equals(PrimitiveComparisonFilter.CONST_VAL)) {
         foundConst = true;
-        assertEquals(option.getValue(), new String(Base64.encodeBase64("aaa".getBytes())));
+        assertEquals(option.getValue(), Base64.getEncoder().encodeToString("aaa".getBytes()));
       } else if (optKey.equals(PrimitiveComparisonFilter.COMPARE_OPT_CLASS)) {
         foundCOpt = true;
         assertEquals(option.getValue(), LessThanOrEqual.class.getName());
@@ -563,7 +563,7 @@ public class TestAccumuloPredicateHandler {
         foundConst = true;
         byte[] intVal = new byte[4];
         ByteBuffer.wrap(intVal).putInt(5);
-        assertEquals(option.getValue(), new String(Base64.encodeBase64(intVal)));
+        assertEquals(option.getValue(), Base64.getEncoder().encodeToString(intVal));
       } else if (optKey.equals(PrimitiveComparisonFilter.COMPARE_OPT_CLASS)) {
         foundCOpt = true;
         assertEquals(option.getValue(), GreaterThan.class.getName());
diff --git a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestPrimitiveComparisonFilter.java b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestPrimitiveComparisonFilter.java
index 95b6ba4..b9ca7ec 100644
--- a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestPrimitiveComparisonFilter.java
+++ b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestPrimitiveComparisonFilter.java
@@ -21,10 +21,10 @@ import java.io.ByteArrayOutputStream;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
+import java.util.Base64;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.commons.codec.binary.Base64;
 import org.apache.hadoop.io.IntWritable;
 import org.junit.Assert;
 import org.junit.Test;
@@ -41,7 +41,7 @@ public class TestPrimitiveComparisonFilter {
 
     for (int i = 0; i < 500; i++) {
       String constant = Integer.toString(i);
-      options.put(PrimitiveComparisonFilter.CONST_VAL, new String(Base64.encodeBase64(constant.getBytes())));
+      options.put(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(constant.getBytes()));
 
       Assert.assertEquals(constant, new String(filter.getConstant(options)));
     }
@@ -60,7 +60,7 @@ public class TestPrimitiveComparisonFilter {
       writable.set(i);
       writable.write(out);
 
-      options.put(PrimitiveComparisonFilter.CONST_VAL, new String(Base64.encodeBase64(baos.toByteArray())));
+      options.put(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(baos.toByteArray()));
 
       byte[] bytes = filter.getConstant(options);
 
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
index 92e46fd..333b983 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
@@ -47,6 +47,7 @@ import java.sql.SQLTransientException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.Calendar;
 import java.util.Collection;
 import java.util.Collections;
@@ -76,7 +77,6 @@ import java.util.zip.Deflater;
 import java.util.zip.DeflaterOutputStream;
 import java.util.zip.InflaterInputStream;
 
-import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
@@ -474,7 +474,7 @@ public final class Utilities {
         }
         serializedSize = planString.length();
         planMode = "RPC";
-        byte[] planBytes = Base64.decodeBase64(planString);
+        byte[] planBytes = Base64.getDecoder().decode(planString);
         in = new ByteArrayInputStream(planBytes);
         in = new InflaterInputStream(in);
       } else {
@@ -617,7 +617,7 @@ public final class Utilities {
         } finally {
           IOUtils.closeStream(out);
         }
-        final String serializedPlan = Base64.encodeBase64String(byteOut.toByteArray());
+        final String serializedPlan = Base64.getEncoder().encodeToString(byteOut.toByteArray());
         serializedSize = serializedPlan.length();
         planMode = "RPC";
         conf.set(planPath.toUri().getPath(), serializedPlan);