From a80a55589eb11d33baf73b0c08dfb8c42f39b4b2 Mon Sep 17 00:00:00 2001 From: gnr163 Date: Fri, 28 Aug 2020 11:32:24 +0800 Subject: [PATCH] Fix bug about prepareBath in MetricsPersistentWorker #5399 (#5401) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * bugfix: when extend the scope and recommend to start with 10000 or scope greater than 1000 , freemarker generate MetricsMetaInfo method will cause error such as MetricsMetaInfo("xxxx_cpm", 10,001, entityId) Co-authored-by: jingjiu Co-authored-by: 吴晟 Wu Sheng --- .../server/core/analysis/worker/MetricsPersistentWorker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 fd1eb6f1a..edab874fe 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 @@ -130,7 +130,7 @@ public class MetricsPersistentWorker extends PersistenceWorker { * Hard coded the max size. This is only the batch size of one metrics, too large number is meaningless. */ int maxBatchGetSize = 2000; - final int batchSize = Math.max(maxBatchGetSize, lastCollection.size()); + final int batchSize = Math.min(maxBatchGetSize, lastCollection.size()); List metricsList = new ArrayList<>(); for (Metrics data : lastCollection) { transWorker.ifPresent(metricsTransWorker -> metricsTransWorker.in(data));