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 <[email protected]>
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();
}
/**