This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch ChunkCacheBug in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit d5cc334c5350d83e1fdfa890b7b0aa656d6321e8 Author: JackieTien97 <[email protected]> AuthorDate: Wed May 26 15:06:24 2021 +0800 add some logs --- .../apache/iotdb/db/engine/cache/LRULinkedHashMap.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/LRULinkedHashMap.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/LRULinkedHashMap.java index 6246574..c2dcd38 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/cache/LRULinkedHashMap.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/LRULinkedHashMap.java @@ -21,6 +21,9 @@ package org.apache.iotdb.db.engine.cache; import org.apache.iotdb.tsfile.common.cache.Accountable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map.Entry; @@ -29,6 +32,8 @@ import java.util.Set; /** This class is an LRU cache. <b>Note: It's not thread safe.</b> */ public abstract class LRULinkedHashMap<K extends Accountable, V> { + private static final Logger logger = LoggerFactory.getLogger(LRULinkedHashMap.class); + private static final float LOAD_FACTOR_MAP = 0.75f; private static final int INITIAL_CAPACITY = 128; private static final float RETAIN_PERCENT = 0.9f; @@ -39,7 +44,7 @@ public abstract class LRULinkedHashMap<K extends Accountable, V> { /** maximum memory threshold. */ private final long maxMemory; /** current used memory. */ - private long usedMemory; + private volatile long usedMemory; /** memory size we need to retain while the cache is full */ private final long retainMemory; @@ -65,6 +70,14 @@ public abstract class LRULinkedHashMap<K extends Accountable, V> { usedMemory -= entry.getKey().getRamSize(); iterator.remove(); } + if (usedMemory > retainMemory) { + logger.error( + "Current used memory is {}, retain memory is {}, map size is {}, iterator has next {}", + usedMemory, + retainMemory, + linkedHashMap.size(), + iterator.hasNext()); + } } return v; }
