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 <[email protected]> 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);
