You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by yo...@apache.org on 2022/08/02 06:25:54 UTC

[bookkeeper] 01/22: use LinkedList to take place of ArrayList. (#3330)

This is an automated email from the ASF dual-hosted git repository.

yong pushed a commit to branch branch-4.15
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git

commit b1ae2579967828df5fe05dbad8368d7e81993963
Author: Yan Zhao <ho...@apache.org>
AuthorDate: Sat Jul 23 01:01:40 2022 +0800

    use LinkedList to take place of ArrayList. (#3330)
    
    (cherry picked from commit 93a6f670296ebe5e86af22bfb632eeb50825c5e7)
---
 .../org/apache/bookkeeper/client/ListenerBasedPendingReadOp.java    | 4 ++--
 .../src/main/java/org/apache/bookkeeper/client/PendingReadOp.java   | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ListenerBasedPendingReadOp.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ListenerBasedPendingReadOp.java
index 108a805ca9..6733b2e9ea 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ListenerBasedPendingReadOp.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ListenerBasedPendingReadOp.java
@@ -46,11 +46,11 @@ class ListenerBasedPendingReadOp extends PendingReadOp {
     @Override
     protected void submitCallback(int code) {
         LedgerEntryRequest request;
-        while (!seq.isEmpty() && (request = seq.get(0)) != null) {
+        while (!seq.isEmpty() && (request = seq.getFirst()) != null) {
             if (!request.isComplete()) {
                 return;
             }
-            seq.remove(0);
+            seq.removeFirst();
             long latencyNanos = MathUtils.elapsedNanos(requestTimeNanos);
             LedgerEntry entry;
             if (BKException.Code.OK == request.getRc()) {
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java
index 60f76f8eed..476c44e72f 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java
@@ -23,9 +23,9 @@ package org.apache.bookkeeper.client;
 import com.google.common.collect.Lists;
 import com.google.common.util.concurrent.ListenableFuture;
 import io.netty.buffer.ByteBuf;
-import java.util.ArrayList;
 import java.util.BitSet;
 import java.util.HashSet;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.Callable;
@@ -59,7 +59,7 @@ class PendingReadOp implements ReadEntryCallback, SafeRunnable {
     private static final Logger LOG = LoggerFactory.getLogger(PendingReadOp.class);
 
     private ScheduledFuture<?> speculativeTask = null;
-    protected final List<LedgerEntryRequest> seq;
+    protected final LinkedList<LedgerEntryRequest> seq;
     private final CompletableFuture<LedgerEntries> future;
     private final Set<BookieId> heardFromHosts;
     private final BitSet heardFromHostsBitSet;
@@ -463,7 +463,7 @@ class PendingReadOp implements ReadEntryCallback, SafeRunnable {
                   long startEntryId,
                   long endEntryId,
                   boolean isRecoveryRead) {
-        this.seq = new ArrayList<>((int) ((endEntryId + 1) - startEntryId));
+        this.seq = new LinkedList<>();
         this.future = new CompletableFuture<>();
         this.lh = lh;
         this.clientCtx = clientCtx;