apache / apache/pulsar-client-go

Reader can not read next coming messages when start with LatestMessageID

Open
#583 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
745
Forks
389
Avg merge
3d 20h
Merged PRs (30d)
3

Description

#### Expected behavior

It should be able to receive messages where published afterward, Message payload should be printed.
#### Actual behavior
Nothing received by reader, seems no message being published.

#### Steps to reproduce
```go
package main

import (
"context"
"fmt"
"github.com/apache/pulsar-client-go/pulsar"
"log"
"os"
)

func main() {
client, err := pulsar.NewClient(pulsar.ClientOptions{
URL: "pulsar://localhost:6650",
})

if err != nil {
log.Fatal(err)
}
defer client.Close()

reader, err := client.CreateReader(pulsar.ReaderOptions{
Topic: "my-topic",
StartMessageID: pulsar.LatestMessageID(),
})
if err != nil {
fmt.Fprintln(os.Stderr, "error creating reader for topic", err)
os.Exit(1)
}
defer reader.Close()

producer, err := client.CreateProducer(pulsar.ProducerOptions{
Topic: "my-topic",
})

if err != nil {
log.Fatal(err)
}
defer producer.Close()

for i := 0; i < 100; i++ {
_, err = producer.Send(context.Background(), &pulsar.ProducerMessage{
Payload: []byte{byte(i)},
})
if err != nil {
log.Fatal(err)
}
}
for {
if reader.HasNext() {
msg, err := reader.Next(context.Background())
if err != nil {
fmt.Fprintln(os.Stderr, "error reading message", err)
os.Exit(1)
}
fmt.Fprintln(os.Stdout, "Message payload: ", msg.Payload())
} else {
break
}
}
}
```

#### System configuration
**Pulsar version**: x.y
- pulsar:2.7.1

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.