You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by li...@apache.org on 2022/03/21 14:32:25 UTC
[incubator-seatunnel] branch dev updated: [Bug] [core] Fix the resource leak for core module (#1532)
This is an automated email from the ASF dual-hosted git repository.
lidongdai pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 0d1078e [Bug] [core] Fix the resource leak for core module (#1532)
0d1078e is described below
commit 0d1078e0bf5d95db9c6e899326d0853839e6b0ca
Author: Benedict Jin <as...@apache.org>
AuthorDate: Mon Mar 21 22:32:18 2022 +0800
[Bug] [core] Fix the resource leak for core module (#1532)
* [Bug] [core] Fix the resource leak for core module
* Address comment
---
.../apache/seatunnel/utils/CompressionUtils.java | 36 +++++++++++-----------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/seatunnel-core/seatunnel-core-base/src/main/java/org/apache/seatunnel/utils/CompressionUtils.java b/seatunnel-core/seatunnel-core-base/src/main/java/org/apache/seatunnel/utils/CompressionUtils.java
index 091568b..e2666f2 100644
--- a/seatunnel-core/seatunnel-core-base/src/main/java/org/apache/seatunnel/utils/CompressionUtils.java
+++ b/seatunnel-core/seatunnel-core-base/src/main/java/org/apache/seatunnel/utils/CompressionUtils.java
@@ -60,28 +60,28 @@ public final class CompressionUtils {
LOGGER.info(String.format("Untaring %s to dir %s.", inputFile.getAbsolutePath(), outputDir.getAbsolutePath()));
final List<File> untaredFiles = new LinkedList<>();
- final InputStream is = new FileInputStream(inputFile);
- final TarArchiveInputStream debInputStream = (TarArchiveInputStream) new ArchiveStreamFactory().createArchiveInputStream("tar", is);
- TarArchiveEntry entry = null;
- while ((entry = (TarArchiveEntry) debInputStream.getNextEntry()) != null) {
- final File outputFile = new File(outputDir, entry.getName());
- if (entry.isDirectory()) {
- LOGGER.info(String.format("Attempting to write output directory %s.", outputFile.getAbsolutePath()));
- if (!outputFile.exists()) {
- LOGGER.info(String.format("Attempting to create output directory %s.", outputFile.getAbsolutePath()));
- if (!outputFile.mkdirs()) {
- throw new IllegalStateException(String.format("Couldn't create directory %s.", outputFile.getAbsolutePath()));
+ try (final InputStream is = new FileInputStream(inputFile);
+ final TarArchiveInputStream debInputStream = (TarArchiveInputStream) new ArchiveStreamFactory().createArchiveInputStream("tar", is)) {
+ TarArchiveEntry entry = null;
+ while ((entry = (TarArchiveEntry) debInputStream.getNextEntry()) != null) {
+ final File outputFile = new File(outputDir, entry.getName());
+ if (entry.isDirectory()) {
+ LOGGER.info(String.format("Attempting to write output directory %s.", outputFile.getAbsolutePath()));
+ if (!outputFile.exists()) {
+ LOGGER.info(String.format("Attempting to create output directory %s.", outputFile.getAbsolutePath()));
+ if (!outputFile.mkdirs()) {
+ throw new IllegalStateException(String.format("Couldn't create directory %s.", outputFile.getAbsolutePath()));
+ }
}
+ } else {
+ LOGGER.info(String.format("Creating output file %s.", outputFile.getAbsolutePath()));
+ final OutputStream outputFileStream = new FileOutputStream(outputFile);
+ IOUtils.copy(debInputStream, outputFileStream);
+ outputFileStream.close();
}
- } else {
- LOGGER.info(String.format("Creating output file %s.", outputFile.getAbsolutePath()));
- final OutputStream outputFileStream = new FileOutputStream(outputFile);
- IOUtils.copy(debInputStream, outputFileStream);
- outputFileStream.close();
+ untaredFiles.add(outputFile);
}
- untaredFiles.add(outputFile);
}
- debInputStream.close();
}
/**