diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 601fa86f..f837465f 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -2101,6 +2101,9 @@ public class MemoryMessagesStore implements IMessagesStore { if (groupInfo != null && groupInfo.getUpdateDt() > request.getUpdateDt()) { if(!isAdmin && !StringUtil.isNullOrEmpty(fromUser)) { WFCMessage.GroupMember gm = getGroupMember(groupInfo.getTargetId(), fromUser); + if((gm == null || gm.getType() == GroupMemberType_Removed) && request.getUpdateDt() > 0) { + continue; + } if(gm == null) { groupInfo = groupInfo.toBuilder().setMemberUpdateDt(-1).build(); } else if(gm.getType() == GroupMemberType_Removed) {