From 92723d765d1c79359876291c5072ccef680d5a7e Mon Sep 17 00:00:00 2001 From: Yunze Xu Date: Mon, 9 Aug 2021 20:36:57 +0800 Subject: [PATCH] Fix null MessageId may be passed to its compareTo() method --- .../impl/PersistentAcknowledgmentsGroupingTracker.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PersistentAcknowledgmentsGroupingTracker.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PersistentAcknowledgmentsGroupingTracker.java index 0f34e0823d481..21ef9b38dbed9 100644 --- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PersistentAcknowledgmentsGroupingTracker.java +++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PersistentAcknowledgmentsGroupingTracker.java @@ -115,10 +115,11 @@ public PersistentAcknowledgmentsGroupingTracker(ConsumerImpl consumer, Consum */ @Override public boolean isDuplicate(@NonNull MessageId messageId) { - if (lastCumulativeAck.messageId == null) { + final MessageId messageIdOfLastAck = lastCumulativeAck.messageId; + if (messageIdOfLastAck == null) { return false; } - if (messageId.compareTo(lastCumulativeAck.messageId) <= 0) { + if (messageId.compareTo(messageIdOfLastAck) <= 0) { // Already included in a cumulative ack return true; } else {