This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 2bf4845 Log more memory usage information in SystemInfo (#2967)
2bf4845 is described below
commit 2bf48457427f0b0ce8de2a0520dec37027124e14
Author: Steve Yurong Su <[email protected]>
AuthorDate: Sat Apr 3 09:23:45 2021 +0800
Log more memory usage information in SystemInfo (#2967)
---
.../org/apache/iotdb/db/rescon/SystemInfo.java | 37 +++++++++++++++++-----
1 file changed, 29 insertions(+), 8 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/rescon/SystemInfo.java
b/server/src/main/java/org/apache/iotdb/db/rescon/SystemInfo.java
index b6d587e..9e20d51 100644
--- a/server/src/main/java/org/apache/iotdb/db/rescon/SystemInfo.java
+++ b/server/src/main/java/org/apache/iotdb/db/rescon/SystemInfo.java
@@ -77,7 +77,11 @@ public class SystemInfo {
chooseTSPToMarkFlush();
}
if (totalSgMemCost >= REJECT_THERSHOLD) {
- logger.info("Change system to reject status...");
+ logger.info(
+ "Change system to reject status. Triggered by: logical SG ({}), mem
cost delta ({}), totalSgMemCost ({}).",
+
storageGroupInfo.getStorageGroupProcessor().getLogicalStorageGroupName(),
+ delta,
+ totalSgMemCost);
rejected = true;
}
}
@@ -92,29 +96,46 @@ public class SystemInfo {
StorageGroupInfo storageGroupInfo, boolean shouldInvokeFlush) {
boolean needForceAsyncFlush = false;
synchronized (this) {
+ long delta = 0;
+
if (reportedSgMemCostMap.containsKey(storageGroupInfo)) {
- this.totalSgMemCost -=
- (reportedSgMemCostMap.get(storageGroupInfo) -
storageGroupInfo.getMemCost());
+ delta = reportedSgMemCostMap.get(storageGroupInfo) -
storageGroupInfo.getMemCost();
+ this.totalSgMemCost -= delta;
storageGroupInfo.setLastReportedSize(storageGroupInfo.getMemCost());
reportedSgMemCostMap.put(storageGroupInfo,
storageGroupInfo.getMemCost());
}
if (totalSgMemCost >= FLUSH_THERSHOLD && totalSgMemCost <
REJECT_THERSHOLD) {
- logger.debug("Some sg memory released but still exceeding flush
proportion, call flush.");
+ logger.debug(
+ "SG ({}) released memory (delta: {}) but still exceeding flush
proportion (totalSgMemCost: {}), call flush.",
+
storageGroupInfo.getStorageGroupProcessor().getLogicalStorageGroupName(),
+ delta,
+ totalSgMemCost);
if (rejected) {
- logger.info("Some sg memory released, set system to normal status.");
+ logger.info(
+ "SG ({}) released memory (delta: {}), set system to normal
status (totalSgMemCost: {}).",
+
storageGroupInfo.getStorageGroupProcessor().getLogicalStorageGroupName(),
+ delta,
+ totalSgMemCost);
}
logCurrentTotalSGMemory();
rejected = false;
needForceAsyncFlush = true;
} else if (totalSgMemCost >= REJECT_THERSHOLD) {
- logger.warn("Some sg memory released, but system is still in reject
status.");
+ logger.warn(
+ "SG ({}) released memory (delta: {}), but system is still in
reject status (totalSgMemCost: {}).",
+
storageGroupInfo.getStorageGroupProcessor().getLogicalStorageGroupName(),
+ delta,
+ totalSgMemCost);
logCurrentTotalSGMemory();
rejected = true;
needForceAsyncFlush = true;
-
} else {
- logger.debug("Some sg memory released, system is in normal status.");
+ logger.debug(
+ "SG ({}) released memory (delta: {}), system is in normal status
(totalSgMemCost: {}).",
+
storageGroupInfo.getStorageGroupProcessor().getLogicalStorageGroupName(),
+ delta,
+ totalSgMemCost);
logCurrentTotalSGMemory();
rejected = false;
}