This is an automated email from the ASF dual-hosted git repository.

hxd pushed a commit to branch aggregate
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/aggregate by this push:
     new 8bf528f  degrade public functions in query.control package as default
8bf528f is described below

commit 8bf528f4872b64c64fd660244bb0782b8abeb900
Author: xiangdong huang <[email protected]>
AuthorDate: Thu Mar 28 18:39:36 2019 +0800

    degrade public functions in query.control package as default
---
 .../java/org/apache/iotdb/db/query/control/FileReaderManager.java    | 4 ++--
 .../org/apache/iotdb/db/query/control/OpenedFilePathsManager.java    | 5 +++--
 .../java/org/apache/iotdb/db/query/control/QueryTokenManager.java    | 5 +----
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git 
a/iotdb/src/main/java/org/apache/iotdb/db/query/control/FileReaderManager.java 
b/iotdb/src/main/java/org/apache/iotdb/db/query/control/FileReaderManager.java
index 90e1932..629e536 100644
--- 
a/iotdb/src/main/java/org/apache/iotdb/db/query/control/FileReaderManager.java
+++ 
b/iotdb/src/main/java/org/apache/iotdb/db/query/control/FileReaderManager.java
@@ -150,7 +150,7 @@ public class FileReaderManager implements IService {
    * Increase the reference count of the reader specified by filePath. Only 
when the reference count
    * of a reader equals zero, the reader can be closed and removed.
    */
-  public synchronized void increaseFileReaderReference(String filePath, 
boolean isClosed) {
+  synchronized void increaseFileReaderReference(String filePath, boolean 
isClosed) {
     if (!isClosed) {
       unclosedReferenceMap.computeIfAbsent(filePath, k -> new 
AtomicInteger()).getAndIncrement();
     } else {
@@ -162,7 +162,7 @@ public class FileReaderManager implements IService {
    * Decrease the reference count of the reader specified by filePath. This 
method is latch-free.
    * Only when the reference count of a reader equals zero, the reader can be 
closed and removed.
    */
-  public synchronized void decreaseFileReaderReference(String filePath, 
boolean isClosed) {
+  synchronized void decreaseFileReaderReference(String filePath, boolean 
isClosed) {
     if (!isClosed && unclosedReferenceMap.containsKey(filePath)) {
       unclosedReferenceMap.get(filePath).getAndDecrement();
     } else if (closedReferenceMap.containsKey(filePath)){
diff --git 
a/iotdb/src/main/java/org/apache/iotdb/db/query/control/OpenedFilePathsManager.java
 
b/iotdb/src/main/java/org/apache/iotdb/db/query/control/OpenedFilePathsManager.java
index 585d85d..e6ffba3 100644
--- 
a/iotdb/src/main/java/org/apache/iotdb/db/query/control/OpenedFilePathsManager.java
+++ 
b/iotdb/src/main/java/org/apache/iotdb/db/query/control/OpenedFilePathsManager.java
@@ -65,7 +65,7 @@ public class OpenedFilePathsManager {
   /**
    * Add the unique file paths to closedFilePathsMap and unclosedFilePathsMap.
    */
-  public void addUsedFilesForCurrentRequestThread(long jobId, QueryDataSource 
dataSource) {
+  void addUsedFilesForCurrentRequestThread(long jobId, QueryDataSource 
dataSource) {
     for (TsFileResource tsFileResource : 
dataSource.getSeqDataSource().getSealedTsFiles()) {
       String sealedFilePath = tsFileResource.getFilePath();
       addFilePathToMap(jobId, sealedFilePath, true);
@@ -110,9 +110,10 @@ public class OpenedFilePathsManager {
    * so <code>closedFilePathsMap.get(jobId)</code> or 
<code>unclosedFilePathsMap.get(jobId)</code>
    * must not return null.
    */
-  public void addFilePathToMap(long jobId, String filePath, boolean isClosed) {
+  void addFilePathToMap(long jobId, String filePath, boolean isClosed) {
     ConcurrentHashMap<Long, Set<String>> pathMap = !isClosed ? 
unclosedFilePathsMap :
         closedFilePathsMap;
+    //TODO this is not an atomic operation, is there concurrent problem?
     if (!pathMap.get(jobId).contains(filePath)) {
       pathMap.get(jobId).add(filePath);
       FileReaderManager.getInstance().increaseFileReaderReference(filePath, 
isClosed);
diff --git 
a/iotdb/src/main/java/org/apache/iotdb/db/query/control/QueryTokenManager.java 
b/iotdb/src/main/java/org/apache/iotdb/db/query/control/QueryTokenManager.java
index e304675..50a2cb4 100644
--- 
a/iotdb/src/main/java/org/apache/iotdb/db/query/control/QueryTokenManager.java
+++ 
b/iotdb/src/main/java/org/apache/iotdb/db/query/control/QueryTokenManager.java
@@ -161,10 +161,7 @@ public class QueryTokenManager {
   }
 
   private void putQueryTokenForCurrentRequestThread(long jobId, String 
deviceId, int queryToken) {
-    if (!queryTokensMap.get(jobId).containsKey(deviceId)) {
-      queryTokensMap.get(jobId).put(deviceId, new ArrayList<>());
-    }
-    queryTokensMap.get(jobId).get(deviceId).add(queryToken);
+    queryTokensMap.get(jobId).computeIfPresent(deviceId, (x, y) -> new 
ArrayList<>()).add(queryToken);
   }
 
   private static class QueryTokenManagerHelper {

Reply via email to