in java/e2e-v4/src/main/java/org/apache/rocketmq/utils/VerifyUtils.java [51:71]
public static boolean checkOrderMessage(ConcurrentHashMap<String, LinkedList<MessageExt>> receivedMessage) {
for (Map.Entry<String, LinkedList<MessageExt>> stringLinkedListEntry : receivedMessage.entrySet()) {
StringBuilder sb = new StringBuilder(String.format("shardingKey %s,message order: ", stringLinkedListEntry.getKey()));
int preNode = -1;
LinkedList<MessageExt> messages = stringLinkedListEntry.getValue();
String tag = messages.getFirst().getTags();
for (MessageExt message : messages) {
if (!message.getTags().equals(tag)) {
preNode = -1;
}
int curNode = Integer.parseInt(new String(message.getBody()));
sb.append(curNode).append(",");
if (preNode > curNode) {
logger.error(sb.toString());
return false;
}
preNode = curNode;
}
}
return true;
}