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 <[email protected]> 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;
