You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "BELUGA BEHR (JIRA)" <ji...@apache.org> on 2018/07/12 22:26:00 UTC

[jira] [Created] (HIVE-20158) Do Not Print StackTraces to STDERR in Base64TextOutputFormat

BELUGA BEHR created HIVE-20158:
----------------------------------

             Summary: Do Not Print StackTraces to STDERR in Base64TextOutputFormat
                 Key: HIVE-20158
                 URL: https://issues.apache.org/jira/browse/HIVE-20158
             Project: Hive
          Issue Type: Improvement
          Components: Contrib
    Affects Versions: 3.0.0, 4.0.0
            Reporter: BELUGA BEHR


https://github.com/apache/hive/blob/6d890faf22fd1ede3658a5eed097476eab3c67e9/contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextOutputFormat.java

{code}
      try {
        String signatureString = job.get("base64.text.output.format.signature");
        if (signatureString != null) {
          signature = signatureString.getBytes("UTF-8");
        } else {
          signature = new byte[0];
        }
      } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
      }
{code}

The {{UnsupportedEncodingException}} is coming from the {{getBytes}} method call.  Instead, use the {{CharSet}} version of the method and it doesn't throw this explicit exception so the 'try' block can simply be removed.  Every JVM will support UTF-8.

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#getBytes(java.nio.charset.Charset)
https://docs.oracle.com/javase/7/docs/api/java/nio/charset/StandardCharsets.html#UTF_8



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)