You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/07/16 07:13:09 UTC
[incubator-iotdb] branch fix_query_file_manager created (now
ffe450e)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a change to branch fix_query_file_manager
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git.
at ffe450e fix release unclosed file reader bug
This branch includes the following new commits:
new ffe450e fix release unclosed file reader bug
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.
[incubator-iotdb] 01/01: fix release unclosed file reader bug
Posted by qi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch fix_query_file_manager
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit ffe450ed051369112e5c87b08efad4c541a446dd
Author: qiaojialin <64...@qq.com>
AuthorDate: Thu Jul 16 15:12:39 2020 +0800
fix release unclosed file reader bug
---
.../java/org/apache/iotdb/db/query/control/QueryFileManager.java | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/control/QueryFileManager.java b/server/src/main/java/org/apache/iotdb/db/query/control/QueryFileManager.java
index 8224aae..30a1984 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/control/QueryFileManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/control/QueryFileManager.java
@@ -90,14 +90,14 @@ public class QueryFileManager {
void removeUsedFilesForQuery(long queryId) {
Set<TsFileResource> tsFiles = sealedFilePathsMap.get(queryId);
if (tsFiles != null) {
- for (TsFileResource tsFile : sealedFilePathsMap.get(queryId)) {
+ for (TsFileResource tsFile : tsFiles) {
FileReaderManager.getInstance().decreaseFileReaderReference(tsFile, true);
}
sealedFilePathsMap.remove(queryId);
}
tsFiles = unsealedFilePathsMap.get(queryId);
if (tsFiles != null) {
- for (TsFileResource tsFile : unsealedFilePathsMap.get(queryId)) {
+ for (TsFileResource tsFile : tsFiles) {
FileReaderManager.getInstance().decreaseFileReaderReference(tsFile, false);
}
unsealedFilePathsMap.remove(queryId);
@@ -111,8 +111,7 @@ public class QueryFileManager {
* must not return null.
*/
void addFilePathToMap(long queryId, TsFileResource tsFile, boolean isClosed) {
- Map<Long, Set<TsFileResource>> pathMap = isClosed ? unsealedFilePathsMap :
- sealedFilePathsMap;
+ Map<Long, Set<TsFileResource>> pathMap = isClosed ? sealedFilePathsMap : unsealedFilePathsMap;
//TODO this is not an atomic operation, is there concurrent problem?
if (!pathMap.get(queryId).contains(tsFile)) {
pathMap.get(queryId).add(tsFile);