Skip to content

[Bug] readNext() hangs if you configure a Pulsar Reader with MessageId.earliest and seek() before reading #23917

Open
@dmonopoly

Description

Search before asking

  • I searched in the issues and found nothing similar.

Read release policy

  • I understand that unsupported versions don't get bug fixes. I will attempt to reproduce the issue on a supported version of Pulsar client and Pulsar broker.

Version

Pulsar 3

Minimal reproduce step

If you create a reader like so

var partitionReader: Reader<ByteArray>? =
                client
                    .newReader(BYTES)
                    .startMessageId(MessageId.earliest)
                    .topic(topic)
                    .create()

then call seek to some timestamp that is certainly within a valid range of time where there are messages after

pulsarReader.seek(timestamp)

readNext() will hang.

if (!pulsarReader.hasMessageAvailable()) {
            logger.info("No messages from this starting timestamp")
            return null
}        
var nextMsg = pulsarReader.readNext()

What did you expect to see?

readNext() returns the next message, or hasMessageAvailable() returns false

What did you see instead?

hangs

Anything else?

No response

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Metadata

Assignees

No one assigned

    Labels

    type/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