This is an automated email from the ASF dual-hosted git repository. jiangtian pushed a commit to branch fix_compaction_1.3 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 15cde0d64529502a828a5c680f90308f8c491f00 Author: Jiang Tian <[email protected]> AuthorDate: Wed Mar 4 18:38:50 2026 +0800 Fixed that InsertionCompactionSelection may skip a file deleted by another compaction (#17254) * Fixed that InsertionCompactionSelection may skip a file deleted by another compaction * Update --- .../selector/impl/RewriteCrossSpaceCompactionSelector.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/impl/RewriteCrossSpaceCompactionSelector.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/impl/RewriteCrossSpaceCompactionSelector.java index ffad8a487da..8439687a627 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/impl/RewriteCrossSpaceCompactionSelector.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/impl/RewriteCrossSpaceCompactionSelector.java @@ -490,6 +490,12 @@ public class RewriteCrossSpaceCompactionSelector implements ICrossSpaceSelector nextSeqFileIndex = Math.min(nextSeqFileIndex, i); } if (!seqFile.containsDevice(deviceId)) { + // if the seqFile is deleted by another compaction concurrently, + // we cannot ensure whether the seqFile overlaps with the unseqFile. + // Let a later selection retry with compacted file. + if (!seqFile.hasDetailedDeviceInfo()) { + return result; + } continue; } DeviceInfo seqDeviceInfo = seqFile.getDeviceInfoById(deviceId);
