This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new b807e4a fix compaction writer write after close (#4186)
b807e4a is described below
commit b807e4a5d0bc9414ca197f3a44b14ee2ac1c076e
Author: liuxuxin <[email protected]>
AuthorDate: Tue Oct 19 22:53:35 2021 +0800
fix compaction writer write after close (#4186)
---
.../apache/iotdb/db/engine/compaction/utils/CompactionUtils.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/utils/CompactionUtils.java
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/utils/CompactionUtils.java
index 23cdb16..c7a1818 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/utils/CompactionUtils.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/utils/CompactionUtils.java
@@ -260,8 +260,9 @@ public class CompactionUtils {
List<Modification> modifications)
throws IOException, IllegalPathException {
Map<String, TsFileSequenceReader> tsFileSequenceReaderMap = new
HashMap<>();
+ RestorableTsFileIOWriter writer = null;
try {
- RestorableTsFileIOWriter writer = new
RestorableTsFileIOWriter(targetResource.getTsFile());
+ writer = new RestorableTsFileIOWriter(targetResource.getTsFile());
Map<String, List<Modification>> modificationCache = new HashMap<>();
RateLimiter compactionWriteRateLimiter =
MergeManager.getINSTANCE().getMergeWriteRateLimiter();
@@ -432,6 +433,9 @@ public class CompactionUtils {
for (TsFileSequenceReader reader : tsFileSequenceReaderMap.values()) {
reader.close();
}
+ if (writer != null && writer.canWrite()) {
+ writer.close();
+ }
}
}