3

In the document: https://pulsar.apache.org/docs/en/concepts-clients/, it explains that you can start a consumer from earliest or latest position, or you can specify a message id. Can it support this requirement, that to specify a time point and start from there, for example, now I want to iterate the messages from yesterday 12:00 to yesterday 13:00?

Xiang Zhang
  • 2,831
  • 20
  • 40

1 Answers1

5

Yes, you can rewind a subscription to a time offset. The time option of the pulsar-admin persistent reset-cursor command will do let you do this:

# bin/pulsar-admin persistent reset-cursor

    reset-cursor      Reset position for subscription to position closest to timestamp or messageId
      Usage: reset-cursor [options] persistent://tenant/namespace/topic
        Options:
          --messageId, -m
             messageId to reset back to (ledgerId:entryId)
        * -s, --subscription
             Subscription to reset position on
          --time, -t
             time in minutes to reset back to (or minutes, hours,days,weeks eg:
             100m, 3h, 2d, 5w)

You can also use the REST admin API.

Chris Bartholomew
  • 1,000
  • 6
  • 7