You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2025/09/03 07:03:27 UTC
(iotdb) 08/11: [To dev/1.3] Pipe: Fixed the bug that concurrent modification / compaction of the mod file may cause mod hard-link failure (#16044)
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch rc/1.3.5
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit f7330fcfb8f7b9cd0a1ca8fc61f67a6123306138
Author: Caideyipi <87...@users.noreply.github.com>
AuthorDate: Mon Jul 28 17:17:00 2025 +0800
[To dev/1.3] Pipe: Fixed the bug that concurrent modification / compaction of the mod file may cause mod hard-link failure (#16044)
* mod
* fix
---
.../iotdb/db/pipe/resource/tsfile/PipeTsFileResourceManager.java | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
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 fd74dadac5e..2bc3ebf12dc 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
@@ -352,7 +352,10 @@ public class PipeTsFileResourceManager {
throws IOException {
increaseFileReference(resource.getTsFile(), true, pipeName);
if (withMods && resource.getModFile().exists()) {
- increaseFileReference(new File(resource.getModFile().getFilePath()), false, pipeName);
+ // Avoid mod compaction
+ synchronized (resource.getModFile()) {
+ increaseFileReference(new File(resource.getModFile().getFilePath()), false, pipeName);
+ }
}
}