diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java index ae68a2032..fd1eb6f1a 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java @@ -176,17 +176,17 @@ public class MetricsPersistentWorker extends PersistenceWorker { cachedMetrics.calculate(); prepareRequests.add(metricsDAO.prepareBatchUpdate(model, cachedMetrics)); nextWorker(cachedMetrics); - - /* - * The `data` should be not changed in any case. Exporter is an async process. - */ - nextExportWorker.ifPresent(exportEvenWorker -> exportEvenWorker.in( - new ExportEvent(metrics, ExportEvent.EventType.INCREMENT))); } else { metrics.calculate(); prepareRequests.add(metricsDAO.prepareBatchInsert(model, metrics)); nextWorker(metrics); } + + /* + * The `metrics` should be not changed in all above process. Exporter is an async process. + */ + nextExportWorker.ifPresent(exportEvenWorker -> exportEvenWorker.in( + new ExportEvent(metrics, ExportEvent.EventType.INCREMENT))); } } catch (Throwable t) { log.error(t.getMessage(), t);