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 08:16:22 UTC
[incubator-iotdb] branch rel/0.10 updated: fix release unclosed
file reader bug
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch rel/0.10
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/rel/0.10 by this push:
new 987ed36 fix release unclosed file reader bug
987ed36 is described below
commit 987ed36c436bf0550697f624c1530d1542dc4c12
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);