This is an automated email from the ASF dual-hosted git repository. wusheng pushed a commit to branch fix-parameter-link in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit 5e31db68e7cc6f10ade3111582a05bc2a0db4dc5 Author: Wu Sheng <[email protected]> AuthorDate: Wed Jun 30 10:24:19 2021 +0800 Fix the queue initial size is not set by max batch size accordingly. --- .../skywalking/oap/server/core/storage/PersistenceTimer.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 a3f0697..322b2db 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 @@ -203,16 +203,18 @@ public enum PersistenceTimer { } } - @RequiredArgsConstructor static class DefaultBlockingBatchQueue<E> implements BlockingBatchQueue<E> { - @Getter private final int maxBatchSize; - + private final List<E> elementData; @Getter private boolean inAppendingMode = true; - private final List<E> elementData = new ArrayList<>(50000 * 3); + public DefaultBlockingBatchQueue(final int maxBatchSize) { + this.maxBatchSize = maxBatchSize; + // Use the maxBatchSize * 2 as the initial queue size to avoid ArrayList#grow + this.elementData = new ArrayList<>(maxBatchSize * 3); + } @Override public void offer(List<E> elements) {
