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 2020/02/25 11:52:19 UTC

[incubator-iotdb] branch FileClosedDebug updated: more logs

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

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


The following commit(s) were added to refs/heads/FileClosedDebug by this push:
     new 3187635  more logs
3187635 is described below

commit 318763575d9da8066f9ddd13c7dba3a850d3b85f
Author: JackieTien97 <Ja...@foxmail.com>
AuthorDate: Tue Feb 25 19:52:03 2020 +0800

    more logs
---
 .../apache/iotdb/db/query/control/FileReaderManager.java    | 13 +++++++++++--
 .../org/apache/iotdb/tsfile/read/TsFileSequenceReader.java  |  8 --------
 2 files changed, 11 insertions(+), 10 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 87a90a3..1a72bbd 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
@@ -189,9 +189,18 @@ public class FileReaderManager implements IService {
   void decreaseFileReaderReference(TsFileResource tsFile, boolean isClosed) {
     synchronized (this) {
       if (!isClosed && unclosedReferenceMap.containsKey(tsFile)) {
-        unclosedReferenceMap.get(tsFile).getAndDecrement();
+        int count = closedReferenceMap.get(tsFile).decrementAndGet();
+        logger.error("Unclosed file {} remain {} references", tsFile.getFile().getName(), count);
       } else if (closedReferenceMap.containsKey(tsFile)){
-        closedReferenceMap.get(tsFile).getAndDecrement();
+        int count = closedReferenceMap.get(tsFile).decrementAndGet();
+        logger.error("Closed file {} remain {} references", tsFile.getFile().getName(), count);
+      }
+      Throwable ex = new Throwable();
+      StackTraceElement[] stackElements = ex.getStackTrace();
+      if (stackElements != null) {
+        for (StackTraceElement stackElement : stackElements) {
+          logger.error("Class Name: {}, Function Name: {}, Line: {}", stackElement.getClassName(), stackElement.getMethodName(), stackElement.getLineNumber());
+        }
       }
     }
     tsFile.getWriteQueryLock().readLock().unlock();
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
index 0403607..62f52cd 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
@@ -467,14 +467,6 @@ public class TsFileSequenceReader implements AutoCloseable {
     if (resourceLogger.isInfoEnabled()) {
       resourceLogger.info("{} reader is closed.", file);
     }
-    Throwable ex = new Throwable();
-    StackTraceElement[] stackElements = ex.getStackTrace();
-    logger.error("{} reader is closed.", file);
-    if (stackElements != null) {
-      for (StackTraceElement stackElement : stackElements) {
-        logger.error("Class Name: {}, Function Name: {}, Line: {}", stackElement.getClassName(), stackElement.getMethodName(), stackElement.getLineNumber());
-      }
-    }
     this.tsFileInput.close();
     deviceMetadataMap = null;
   }