You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/01/19 01:43:12 UTC

[iotdb] 01/01: When opening too many file handlers, reduce warning logs print

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

jackietien pushed a commit to branch WarningLog012
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit a84d4289831ddfa18df0cffab3ce96f6dc1866d4
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Wed Jan 19 09:41:52 2022 +0800

    When opening too many file handlers, reduce warning logs print
---
 .../org/apache/iotdb/db/query/control/FileReaderManager.java  | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/query/control/FileReaderManager.java b/server/src/main/java/org/apache/iotdb/db/query/control/FileReaderManager.java
index 0046bf0..eae61c5 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/control/FileReaderManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/control/FileReaderManager.java
@@ -46,6 +46,11 @@ public class FileReaderManager {
   private static final int MAX_CACHED_FILE_SIZE = 30000;
 
   /**
+   * When number of file streams reached MAX_CACHED_FILE_SIZE, then we will print a warning log each PRINT_INTERVAL
+   */
+  private static final int PRINT_INTERVAL = 10000;
+
+  /**
    * the key of closedFileReaderMap is the file path and the value of closedFileReaderMap is the
    * corresponding reader.
    */
@@ -108,12 +113,12 @@ public class FileReaderManager {
     Map<String, TsFileSequenceReader> readerMap =
         !isClosed ? unclosedFileReaderMap : closedFileReaderMap;
     if (!readerMap.containsKey(filePath)) {
-
-      if (readerMap.size() >= MAX_CACHED_FILE_SIZE) {
+      int currentOpenedReaderCount = readerMap.size();
+      if (currentOpenedReaderCount >= MAX_CACHED_FILE_SIZE && (currentOpenedReaderCount % PRINT_INTERVAL == 0)) {
         logger.warn("Query has opened {} files !", readerMap.size());
       }
 
-      TsFileSequenceReader tsFileReader = null;
+      TsFileSequenceReader tsFileReader;
       // check if the file is old version
       if (!isClosed) {
         tsFileReader = new UnClosedTsFileReader(filePath);