From 1df192f730aebb52e7c49c217ff01569261ca6e0 Mon Sep 17 00:00:00 2001 From: heavyrian2012 Date: Wed, 5 Mar 2025 19:13:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=88=86=E6=AE=B5=E6=8B=89?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=81=AF=E6=97=B6=E5=8F=AF=E8=83=BD=E4=B8=A2?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/moquette/persistence/MemoryMessagesStore.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 9bab25b6..8a8685b3 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -900,11 +900,13 @@ public class MemoryMessagesStore implements IMessagesStore { session.setPullHistoryMsg(true); } + long previousCurrent; while (true) { Map.Entry entry = maps.higherEntry(current); if (entry == null) { break; } + previousCurrent = current; current = entry.getKey(); long targetMessageId = entry.getValue(); @@ -933,6 +935,8 @@ public class MemoryMessagesStore implements IMessagesStore { if (size >= 512 * 1024) { //3M if(builder.getMessageCount() == 0){ builder.addMessage(bundle.getMessage()); + } else { + current = previousCurrent; } break; }