This is an automated email from the ASF dual-hosted git repository.
findepi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/main by this push:
new 2b55fef7cc Core: Update TableMetadataParser to ensure all streams
closed (#11220)
2b55fef7cc is described below
commit 2b55fef7cc2a249d864ac26d85a4923313d96a59
Author: erik-grepr <[email protected]>
AuthorDate: Fri Oct 25 22:57:24 2024 -0700
Core: Update TableMetadataParser to ensure all streams closed (#11220)
* Update TableMetadataParser to close streams
* Fix OutputStreamWriter
* Update TableMetadataParser.java
* spotlessApply
---
.../main/java/org/apache/iceberg/TableMetadataParser.java | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/core/src/main/java/org/apache/iceberg/TableMetadataParser.java
b/core/src/main/java/org/apache/iceberg/TableMetadataParser.java
index 8bda184142..5abfb74974 100644
--- a/core/src/main/java/org/apache/iceberg/TableMetadataParser.java
+++ b/core/src/main/java/org/apache/iceberg/TableMetadataParser.java
@@ -122,9 +122,9 @@ public class TableMetadataParser {
public static void internalWrite(
TableMetadata metadata, OutputFile outputFile, boolean overwrite) {
boolean isGzip = Codec.fromFileName(outputFile.location()) == Codec.GZIP;
- OutputStream stream = overwrite ? outputFile.createOrOverwrite() :
outputFile.create();
- try (OutputStream ou = isGzip ? new GZIPOutputStream(stream) : stream;
- OutputStreamWriter writer = new OutputStreamWriter(ou,
StandardCharsets.UTF_8)) {
+ try (OutputStream os = overwrite ? outputFile.createOrOverwrite() :
outputFile.create();
+ OutputStream gos = isGzip ? new GZIPOutputStream(os) : os;
+ OutputStreamWriter writer = new OutputStreamWriter(gos,
StandardCharsets.UTF_8)) {
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
generator.useDefaultPrettyPrinter();
toJson(metadata, generator);
@@ -275,9 +275,9 @@ public class TableMetadataParser {
public static TableMetadata read(FileIO io, InputFile file) {
Codec codec = Codec.fromFileName(file.location());
- try (InputStream is =
- codec == Codec.GZIP ? new GZIPInputStream(file.newStream()) :
file.newStream()) {
- return fromJson(file, JsonUtil.mapper().readValue(is, JsonNode.class));
+ try (InputStream is = file.newStream();
+ InputStream gis = codec == Codec.GZIP ? new GZIPInputStream(is) : is) {
+ return fromJson(file, JsonUtil.mapper().readValue(gis, JsonNode.class));
} catch (IOException e) {
throw new RuntimeIOException(e, "Failed to read file: %s", file);
}