Skip to content

RedeliveryCount is 0 on redelivery #18239

@nakonczy

Description

@nakonczy

Describe the bug
I have a pulsar server with a single topic and a message produced to the topic.
It is a standalone server.
I have a client app having a single consumer.
Subscription type is Shared.
When I receive the message, and then stop the client app before ack-ing, and then start the client app again, then the message is redelivered as expected, but with redeliveryCount=0 (expected 1).
Similarily, when the consumer reconnects due to temporary lack of connectivity to pulsar server before ack-ing, then the redelivered message has the redeliveryCount=0.

To Reproduce
Steps to reproduce the behavior:

  1. Receive a message.
  2. Block connectivity. I did it like this:
    sudo iptables -I INPUT -p tcp -m tcp --dport 6650 -j REJECT
  3. Acknowledge the message while there's no connectivity
  4. Wait longer than ping timeout (keepaliveIntervalMillis?, default is 30sec.)
  5. Unblock connectivity:
    sudo iptables -D INPUT -p tcp -m tcp --dport 6650 -j REJECT
  6. Reconnect will occur and message will be redelivered (as expected), but, it's redeliveryCount will be 0 (not 1).

OR:

  1. Receive a message.
  2. Stop the client app without ack-ing the message.
  3. Start client app again.
  4. Redelivery occurs with redeliveryCount=0.

Expected behavior
Redelivered message's redeliveryCount value should be 1 instead of 0.

Desktop (please complete the following information):

  • OS: Ubuntu 18
  • Using Java pulsar client.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/brokertype/bugThe PR fixed a bug or issue reported a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions