diff --git a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java index 117f204817..dc8e3efdbc 100644 --- a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java +++ b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java @@ -2885,7 +2885,7 @@ public class DefaultMessageStore implements MessageStore { BatchDispatchRequest task = batchDispatchRequestQueue.peek(); batchDispatchRequestExecutor.execute(() -> { try { - ByteBuffer tmpByteBuffer = task.byteBuffer.duplicate(); + ByteBuffer tmpByteBuffer = task.byteBuffer; tmpByteBuffer.position(task.position); tmpByteBuffer.limit(task.position + task.size); List dispatchRequestList = new ArrayList<>(); @@ -3018,7 +3018,7 @@ public class DefaultMessageStore implements MessageStore { return; } mappedPageHoldCount.getAndIncrement(); - BatchDispatchRequest task = new BatchDispatchRequest(byteBuffer, position, size, batchId++); + BatchDispatchRequest task = new BatchDispatchRequest(byteBuffer.duplicate(), position, size, batchId++); batchDispatchRequestQueue.offer(task); }