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) {

Reply via email to