You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2025/01/21 10:49:33 UTC
(iotdb) branch fix_delete_data_tsp_npe created (now 0ca6ebc266b)
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a change to branch fix_delete_data_tsp_npe
in repository https://gitbox.apache.org/repos/asf/iotdb.git
at 0ca6ebc266b Fix delete data TsFileProcessor NPE
This branch includes the following new commits:
new 0ca6ebc266b Fix delete data TsFileProcessor NPE
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(iotdb) 01/01: Fix delete data TsFileProcessor NPE
Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch fix_delete_data_tsp_npe
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 0ca6ebc266b86fb65e5a72d87722a20606359ca4
Author: HTHou <ha...@apache.org>
AuthorDate: Tue Jan 21 18:47:40 2025 +0800
Fix delete data TsFileProcessor NPE
---
.../db/storageengine/dataregion/DataRegion.java | 23 +++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index b343ced944e..3b28ec76b5b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -2505,17 +2505,22 @@ public class DataRegion implements IDataRegionForQuery {
if (tsFileResource.isClosed()) {
sealedTsFiles.add(tsFileResource);
} else {
- tsFileResource.getProcessor().getFlushQueryLock().writeLock().lock();
- if (tsFileResource.isClosed()) {
+ TsFileProcessor tsFileProcessor = tsFileResource.getProcessor();
+ if (tsFileProcessor == null) {
sealedTsFiles.add(tsFileResource);
- tsFileResource.getProcessor().getFlushQueryLock().writeLock().unlock();
} else {
- try {
- if (!tsFileResource.getProcessor().deleteDataInMemory(deletion)) {
- sealedTsFiles.add(tsFileResource);
- } // else do nothing
- } finally {
- tsFileResource.getProcessor().getFlushQueryLock().writeLock().unlock();
+ tsFileProcessor.getFlushQueryLock().writeLock().lock();
+ if (tsFileResource.isClosed()) {
+ sealedTsFiles.add(tsFileResource);
+ tsFileProcessor.getFlushQueryLock().writeLock().unlock();
+ } else {
+ try {
+ if (!tsFileProcessor.deleteDataInMemory(deletion)) {
+ sealedTsFiles.add(tsFileResource);
+ } // else do nothing
+ } finally {
+ tsFileProcessor.getFlushQueryLock().writeLock().unlock();
+ }
}
}
}