parquet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ga...@apache.org
Subject [parquet-mr] branch master updated: [PARQUET-1500] Replace Closeables with try-with-resources (#597)
Date Fri, 25 Jan 2019 08:07:53 GMT
This is an automated email from the ASF dual-hosted git repository.

gabor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/parquet-mr.git


The following commit(s) were added to refs/heads/master by this push:
     new f36dd08  [PARQUET-1500] Replace Closeables with try-with-resources (#597)
f36dd08 is described below

commit f36dd08505b5dc799d2e4e92328901796f7b3cb8
Author: Fokko Driesprong <fokko@driesprong.frl>
AuthorDate: Fri Jan 25 09:07:48 2019 +0100

    [PARQUET-1500] Replace Closeables with try-with-resources (#597)
---
 .../main/java/org/apache/parquet/Closeables.java   |  8 ++--
 .../parquet/hadoop/util/SerializationUtil.java     | 46 +++++++---------------
 2 files changed, 19 insertions(+), 35 deletions(-)

diff --git a/parquet-common/src/main/java/org/apache/parquet/Closeables.java b/parquet-common/src/main/java/org/apache/parquet/Closeables.java
index 086f6cc..2f312aa 100644
--- a/parquet-common/src/main/java/org/apache/parquet/Closeables.java
+++ b/parquet-common/src/main/java/org/apache/parquet/Closeables.java
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -26,7 +26,9 @@ import org.slf4j.LoggerFactory;
 
 /**
  * Utility for working with {@link java.io.Closeable}ss
+ * @deprecated will be removed in 2.0.0. Use Java try-with-resource instead.
  */
+@Deprecated
 public final class Closeables {
   private Closeables() { }
 
diff --git a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/util/SerializationUtil.java
b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/util/SerializationUtil.java
index 529115b..06d5fea 100644
--- a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/util/SerializationUtil.java
+++ b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/util/SerializationUtil.java
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -23,13 +23,13 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
+import java.nio.charset.StandardCharsets;
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
 
 import org.apache.commons.codec.binary.Base64;
 import org.apache.hadoop.conf.Configuration;
 
-import org.apache.parquet.Closeables;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -53,22 +53,13 @@ public final class SerializationUtil {
    * @throws IOException if there is an error while writing
    */
   public static void writeObjectToConfAsBase64(String key, Object obj, Configuration conf)
throws IOException {
-    ByteArrayOutputStream baos = null;
-    GZIPOutputStream gos = null;
-    ObjectOutputStream oos = null;
-
-    try {
-      baos = new ByteArrayOutputStream();
-      gos = new GZIPOutputStream(baos);
-      oos = new ObjectOutputStream(gos);
-      oos.writeObject(obj);
-    } finally {
-      Closeables.close(oos);
-      Closeables.close(gos);
-      Closeables.close(baos);
+    try(ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
+      try(GZIPOutputStream gos = new GZIPOutputStream(baos);
+            ObjectOutputStream oos = new ObjectOutputStream(gos)) {
+        oos.writeObject(obj);
+      }
+      conf.set(key, new String(Base64.encodeBase64(baos.toByteArray()), StandardCharsets.UTF_8));
     }
-
-    conf.set(key, new String(Base64.encodeBase64(baos.toByteArray()), "UTF-8"));
   }
 
   /**
@@ -88,25 +79,16 @@ public final class SerializationUtil {
       return null;
     }
 
-    byte[] bytes = Base64.decodeBase64(b64.getBytes("UTF-8"));
-
-    ByteArrayInputStream bais = null;
-    GZIPInputStream gis = null;
-    ObjectInputStream ois = null;
+    byte[] bytes = Base64.decodeBase64(b64.getBytes(StandardCharsets.UTF_8));
 
-    try {
-      bais = new ByteArrayInputStream(bytes);
-      gis = new GZIPInputStream(bais);
-      ois = new ObjectInputStream(gis);
+    try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
+           GZIPInputStream gis = new GZIPInputStream(bais);
+           ObjectInputStream ois  = new ObjectInputStream(gis)) {
       return (T) ois.readObject();
     } catch (ClassNotFoundException e) {
       throw new IOException("Could not read object from config with key " + key, e);
     } catch (ClassCastException e) {
       throw new IOException("Couldn't cast object read from config with key " + key, e);
-    } finally {
-      Closeables.close(ois);
-      Closeables.close(gis);
-      Closeables.close(bais);
     }
   }
 }


Mime
View raw message