From 07a54998668c5bc6851ff8e25e524212f1fe5214 Mon Sep 17 00:00:00 2001 From: Steve Yurong Su Date: Fri, 25 Oct 2024 14:23:53 +0800 Subject: [PATCH] Update PipeTsFileResourceManager.java --- .../tsfile/PipeTsFileResourceManager.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/tsfile/PipeTsFileResourceManager.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/tsfile/PipeTsFileResourceManager.java index dfdf6ddc2fba..bc978edec102 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/tsfile/PipeTsFileResourceManager.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/tsfile/PipeTsFileResourceManager.java @@ -133,8 +133,13 @@ public File increaseFileReference( throws IOException { // If the file is already a hardlink or copied file, // just increase reference count and return it - if (increaseReferenceIfExists(file)) { - return file; + segmentLock.lock(file); + try { + if (increaseReferenceIfExists(file)) { + return file; + } + } finally { + segmentLock.unlock(file); } // If the file is not a hardlink or copied file, check if there is a related hardlink or @@ -171,18 +176,13 @@ public File increaseFileReference( } private boolean increaseReferenceIfExists(final File file) { - segmentLock.lock(file); - try { - final PipeTsFileResource resource = - hardlinkOrCopiedFileToPipeTsFileResourceMap.get(file.getPath()); - if (resource != null) { - resource.increaseAndGetReference(); - return true; - } - return false; - } finally { - segmentLock.unlock(file); + final PipeTsFileResource resource = + hardlinkOrCopiedFileToPipeTsFileResourceMap.get(file.getPath()); + if (resource != null) { + resource.increaseAndGetReference(); + return true; } + return false; } public static File getHardlinkOrCopiedFileInPipeDir(final File file) throws IOException {