Avoid repeatly set startMessageIdData to null for ConsumerImpl (#13606)
diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
index da21edd..72c191e 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
@@ -740,16 +740,17 @@
}
boolean isDurable = subscriptionMode == SubscriptionMode.Durable;
- MessageIdData startMessageIdData = null;
- if (isDurable) {
- // For regular durable subscriptions, the message id from where to restart will be determined by the broker.
- startMessageIdData = null;
- } else if (startMessageId != null) {
- // For non-durable we are going to restart from the next entry
+ final MessageIdData startMessageIdData;
+
+ // For regular durable subscriptions, the message id from where to restart will be determined by the broker.
+ // For non-durable we are going to restart from the next entry.
+ if (!isDurable && startMessageId != null) {
startMessageIdData = new MessageIdData()
.setLedgerId(startMessageId.getLedgerId())
.setEntryId(startMessageId.getEntryId())
.setBatchIndex(startMessageId.getBatchIndex());
+ } else {
+ startMessageIdData = null;
}
SchemaInfo si = schema.getSchemaInfo();