diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorPersistentWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorPersistentWorker.java index dd140c88b..1ac53e76e 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorPersistentWorker.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorPersistentWorker.java @@ -122,8 +122,11 @@ public class IndicatorPersistentWorker extends AbstractWorker { private void cacheData(Indicator input) { mergeDataCache.writing(); if (mergeDataCache.containsKey(input)) { - mergeDataCache.get(input).combine(input); + Indicator indicator = mergeDataCache.get(input); + indicator.combine(input); + indicator.calculate(); } else { + input.calculate(); mergeDataCache.put(input); }