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/03/13 06:24:29 UTC

[incubator-iotdb] branch debug_metero updated: add lock log

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

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


The following commit(s) were added to refs/heads/debug_metero by this push:
     new 8014089  add lock log
8014089 is described below

commit 8014089612aef6ca4904645ded549a3167e5772c
Author: qiaojialin <64...@qq.com>
AuthorDate: Fri Mar 13 14:24:08 2020 +0800

    add lock log
---
 .../iotdb/db/engine/merge/task/MergeFileTask.java  |  9 +++++++-
 .../engine/storagegroup/StorageGroupProcessor.java | 24 ++++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
index 06e9198..b399616 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
@@ -120,11 +120,12 @@ class MergeFileTask {
 
     TsFileIOWriter oldFileWriter = null;
     seqFile.getWriteQueryLock().writeLock().lock();
+    logger.warn("{} lock write resource {}", Thread.currentThread().getName(),
+        seqFile.getFile().getAbsolutePath());
     try {
       TsFileMetaDataCache.getInstance().remove(seqFile);
       DeviceMetaDataCache.getInstance().remove(seqFile);
       FileReaderManager.getInstance().closeFileAndRemoveReader(seqFile);
-
       resource.removeFileReader(seqFile);
       try {
         oldFileWriter = new ForceAppendTsFileWriter(seqFile.getFile());
@@ -179,6 +180,8 @@ class MergeFileTask {
       throw e;
     } finally {
       seqFile.getWriteQueryLock().writeLock().unlock();
+      logger.warn("{} unlock write resource {}", Thread.currentThread().getName(),
+          seqFile.getFile().getAbsolutePath());
     }
   }
 
@@ -248,6 +251,8 @@ class MergeFileTask {
     logger.debug("{} moved unmerged chunks of {} to the new file", taskName, seqFile);
 
     seqFile.getWriteQueryLock().writeLock().lock();
+    logger.warn("{} lock write resource {}", Thread.currentThread().getName(),
+        seqFile.getFile().getAbsolutePath());
     try {
       resource.removeFileReader(seqFile);
       TsFileMetaDataCache.getInstance().remove(seqFile);
@@ -267,6 +272,8 @@ class MergeFileTask {
       throw e;
     }  finally {
       seqFile.getWriteQueryLock().writeLock().unlock();
+      logger.warn("{} unlock write resource {}", Thread.currentThread().getName(),
+          seqFile.getFile().getAbsolutePath());
     }
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
index c317c54..2bb5fc4 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
@@ -971,6 +971,8 @@ public class StorageGroupProcessor {
 
       // ensure that the file is not used by any queries
       if (resource.getWriteQueryLock().writeLock().tryLock()) {
+        logger.warn("{} lock write resource {}", Thread.currentThread().getName(),
+            resource.getFile().getAbsolutePath());
         try {
           // physical removal
           resource.remove();
@@ -985,6 +987,8 @@ public class StorageGroupProcessor {
           }
         } finally {
           resource.getWriteQueryLock().writeLock().unlock();
+          logger.warn("{} unlock write resource {}", Thread.currentThread().getName(),
+              resource.getFile().getAbsolutePath());
         }
       }
     } finally {
@@ -1446,10 +1450,14 @@ public class StorageGroupProcessor {
 
     for (TsFileResource unseqFile : unseqFiles) {
       unseqFile.getWriteQueryLock().writeLock().lock();
+      logger.warn("{} lock write resource {}", Thread.currentThread().getName(),
+          unseqFile.getFile().getAbsolutePath());
       try {
         unseqFile.remove();
       } finally {
         unseqFile.getWriteQueryLock().writeLock().unlock();
+        logger.warn("{} unlock write resource {}", Thread.currentThread().getName(),
+            unseqFile.getFile().getAbsolutePath());
       }
     }
   }
@@ -1457,6 +1465,8 @@ public class StorageGroupProcessor {
   @SuppressWarnings("squid:S1141")
   private void updateMergeModification(TsFileResource seqFile) {
     seqFile.getWriteQueryLock().writeLock().lock();
+    logger.warn("{} lock write resource {}", Thread.currentThread().getName(),
+        seqFile.getFile().getAbsolutePath());
     try {
       // remove old modifications and write modifications generated during merge
       seqFile.removeModFile();
@@ -1476,6 +1486,8 @@ public class StorageGroupProcessor {
           seqFile.getFile(), e);
     } finally {
       seqFile.getWriteQueryLock().writeLock().unlock();
+      logger.warn("{} unlock write resource {}", Thread.currentThread().getName(),
+          seqFile.getFile().getAbsolutePath());
     }
   }
 
@@ -1675,6 +1687,8 @@ public class StorageGroupProcessor {
       if (resource.getHistoricalVersions().containsAll(seqFile.getHistoricalVersions())
           && !resource.getHistoricalVersions().equals(seqFile.getHistoricalVersions())
           && seqFile.getWriteQueryLock().writeLock().tryLock()) {
+        logger.warn("{} lock write resource {}", Thread.currentThread().getName(),
+            seqFile.getFile().getAbsolutePath());
         try {
           iterator.remove();
           seqFile.remove();
@@ -1683,6 +1697,8 @@ public class StorageGroupProcessor {
           throw e;
         } finally {
           seqFile.getWriteQueryLock().writeLock().unlock();
+          logger.warn("{} unlock write resource {}", Thread.currentThread().getName(),
+              seqFile.getFile().getAbsolutePath());
         }
       }
     }
@@ -1887,11 +1903,15 @@ public class StorageGroupProcessor {
       return false;
     }
     tsFileResourceToBeDeleted.getWriteQueryLock().writeLock().lock();
+    logger.warn("{} lock write resource {}", Thread.currentThread().getName(),
+        tsFileResourceToBeDeleted.getFile().getAbsolutePath());
     try {
       tsFileResourceToBeDeleted.remove();
       logger.info("Delete tsfile {} successfully.", tsFileResourceToBeDeleted.getFile());
     } finally {
       tsFileResourceToBeDeleted.getWriteQueryLock().writeLock().unlock();
+      logger.warn("{} unlock write resource {}", Thread.currentThread().getName(),
+          tsFileResourceToBeDeleted.getFile().getAbsolutePath());
     }
     return true;
   }
@@ -1945,6 +1965,8 @@ public class StorageGroupProcessor {
       return false;
     }
     tsFileResourceToBeMoved.getWriteQueryLock().writeLock().lock();
+    logger.warn("{} lock write resource {}", Thread.currentThread().getName(),
+        tsFileResourceToBeMoved.getFile().getAbsolutePath());
     try {
       tsFileResourceToBeMoved.moveTo(targetDir);
       logger
@@ -1952,6 +1974,8 @@ public class StorageGroupProcessor {
               targetDir.getPath());
     } finally {
       tsFileResourceToBeMoved.getWriteQueryLock().writeLock().unlock();
+      logger.warn("{} unlock write resource {}", Thread.currentThread().getName(),
+          tsFileResourceToBeMoved.getFile().getAbsolutePath());
     }
     return true;
   }