From 053ae3f88279e50af0b3ff0ae55f0efb2d2ddaf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Tue, 9 Aug 2022 12:58:50 +0800 Subject: [PATCH] Fix #9440, `batchDAO.endOfFlush();` should be called after all executions are ready. (#9441) --- .../skywalking/oap/server/core/storage/PersistenceTimer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java index 6bf7ed779c..1ed2f700f5 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java @@ -136,8 +136,9 @@ public enum PersistenceTimer { .whenComplete(($1, $2) -> executeLatencyTimer.close()); }, prepareExecutorService); }).toArray(CompletableFuture[]::new)); - batchDAO.endOfFlush(); + future.whenComplete((unused, throwable) -> { + batchDAO.endOfFlush(); allTimer.close(); if (log.isDebugEnabled()) { log.debug( -- GitLab