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 199e8a9ae71b4..1438f65ec5ce5 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 @@ -346,17 +346,17 @@ protected ConsumerImpl(PulsarClientImpl client, String topic, ConsumerConfigurat } else { this.deadLetterPolicy = DeadLetterPolicy.builder() .maxRedeliverCount(conf.getDeadLetterPolicy().getMaxRedeliverCount()) - .deadLetterTopic(String.format("%s-%s" + RetryMessageUtil.DLQ_GROUP_TOPIC_SUFFIX, - topic, subscription)) + .deadLetterTopic(StringUtils.appendIfMissing(String.format("%s-%s", + topic, subscription), RetryMessageUtil.DLQ_GROUP_TOPIC_SUFFIX)) .build(); } if (StringUtils.isNotBlank(conf.getDeadLetterPolicy().getRetryLetterTopic())) { this.deadLetterPolicy.setRetryLetterTopic(conf.getDeadLetterPolicy().getRetryLetterTopic()); } else { - this.deadLetterPolicy.setRetryLetterTopic(String.format( - "%s-%s" + RetryMessageUtil.RETRY_GROUP_TOPIC_SUFFIX, - topic, subscription)); + this.deadLetterPolicy.setRetryLetterTopic(StringUtils.appendIfMissing( + String.format("%s-%s", topic, subscription), + RetryMessageUtil.RETRY_GROUP_TOPIC_SUFFIX)); } if (StringUtils.isNotBlank(conf.getDeadLetterPolicy().getInitialSubscriptionName())) {