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