GitHub user startjava edited a discussion: How to achieve the effect of maximum 
delay time in retransmission backoff mechanism

```
    @Bean
    public Consumer createPulsarConsumer_myTopic2() throws 
PulsarClientException {
        Consumer consumer = 
pulsarClient.newConsumer().topic(myTopic2).subscriptionName(myTopic2_subscriptionName).messageListener(myMessageListener1).subscriptionType(SubscriptionType.Shared).ackTimeout(10,
 
TimeUnit.SECONDS).negativeAckRedeliveryBackoff(MultiplierRedeliveryBackoff.builder()
                .minDelayMs(1000)
                .maxDelayMs(60 * 1000)
                .multiplier(2)
                .build()).subscribe();
        return consumer;
    }
```
```

@Component
public class MyMessageListener1 implements MessageListener {
    @Override
    public void received(Consumer consumer, Message msg) {
        String messageValue = new String(msg.getData());
        messageValue = messageValue.split("\\_")[0];
        System.out.println(System.currentTimeMillis() + " MyMessageListener1=" 
+ messageValue);
    }
}
```

```
    @RequestMapping("sendMessage5")
    public String sendMessage5() throws PulsarClientException {
        String messageValue = "我是消息4";
        producer3.send(messageValue);
        return "成功生产5";
    }
```



My current effect produces a message, then nack, and then Redelivery every 10s,,

I want to know when is maxDelayMs (60 * 1000)? thank
i want achieve bottom effect:
<html>
<body>
<!--StartFragment-->

Redelivery count | Redelivery delay
-- | --
1 | 10 + 1 seconds
2 | 10 + 2 seconds
3 | 10 + 4 seconds
4 | 10 + 8 seconds
5 | 10 + 16 seconds
6 | 10 + 32 seconds
7 | 10 + 60 seconds
8 | 10 + 60 seconds

<!--EndFragment-->
</body>
</html>

but now every 10s ,console print info:
1667190123029 MyMessageListener1=我是消息4
2022-10-31 12:22:13.306  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.client.impl.UnAckedMessageTracker  : 
[ConsumerBase{subscription='myTopic2_subscriptionName1', consumerName='b14c6', 
topic='myTopic2'}] 1 messages will be re-delivered
1667190133442 MyMessageListener1=我是消息4
2022-10-31 12:22:24.323  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.client.impl.UnAckedMessageTracker  : 
[ConsumerBase{subscription='myTopic2_subscriptionName1', consumerName='b14c6', 
topic='myTopic2'}] 1 messages will be re-delivered
1667190144493 MyMessageListener1=我是消息4
2022-10-31 12:22:35.340  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.client.impl.UnAckedMessageTracker  : 
[ConsumerBase{subscription='myTopic2_subscriptionName1', consumerName='b14c6', 
topic='myTopic2'}] 1 messages will be re-delivered
1667190155552 MyMessageListener1=我是消息4
2022-10-31 12:22:46.353  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.client.impl.UnAckedMessageTracker  : 
[ConsumerBase{subscription='myTopic2_subscriptionName1', consumerName='b14c6', 
topic='myTopic2'}] 1 messages will be re-delivered
1667190166406 MyMessageListener1=我是消息4
2022-10-31 12:22:57.369  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.client.impl.UnAckedMessageTracker  : 
[ConsumerBase{subscription='myTopic2_subscriptionName1', consumerName='b14c6', 
topic='myTopic2'}] 1 messages will be re-delivered
1667190177575 MyMessageListener1=我是消息4
2022-10-31 12:23:01.286  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.c.impl.ConsumerStatsRecorderImpl   : [myTopic2] 
[myTopic2_subscriptionName1] [b14c6] Prefetched messages: 0 --- Consume 
throughput received: 0.10 msgs/s --- 0.00 Mbit/s --- Ack sent rate: 0.00 ack/s 
--- Failed messages: 0 --- batch messages: 0 ---Failed acks: 0
2022-10-31 12:23:08.385  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.client.impl.UnAckedMessageTracker  : 
[ConsumerBase{subscription='myTopic2_subscriptionName1', consumerName='b14c6', 
topic='myTopic2'}] 1 messages will be re-delivered
1667190188395 MyMessageListener1=我是消息4
2022-10-31 12:23:19.400  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.client.impl.UnAckedMessageTracker  : 
[ConsumerBase{subscription='myTopic2_subscriptionName1', consumerName='b14c6', 
topic='myTopic2'}] 1 messages will be re-delivered
1667190199517 MyMessageListener1=我是消息4
2022-10-31 12:23:30.419  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.client.impl.UnAckedMessageTracker  : 
[ConsumerBase{subscription='myTopic2_subscriptionName1', consumerName='b14c6', 
topic='myTopic2'}] 1 messages will be re-delivered
1667190210430 MyMessageListener1=我是消息4
2022-10-31 12:23:41.434  INFO 14156 --- [ulsar-timer-6-1] 
o.a.p.client.impl.UnAckedMessageTracker  : 
[ConsumerBase{subscription='myTopic2_subscriptionName1', consumerName='b14c6', 
topic='myTopic2'}] 1 messages will be re-delivered
1667190221831 MyMessageListener1=我是消息4




GitHub link: https://github.com/apache/pulsar/discussions/18261

----
This is an automatically sent email for dev@pulsar.apache.org.
To unsubscribe, please send an email to: dev-unsubscr...@pulsar.apache.org

Reply via email to