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;
}