[Bug] Client with shared subscription is blocked
- Dominant language
- Java
- Stars
- 15.3k
- Forks
- 3.8k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 160
Description
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar.
### Version
Client - 3.1.0
Pulsar - 3.1.0 (and later builds)
Also reported on 3.0.1
### Minimal reproduce step
My reproducible steps:
1. Create persistent topic with 3 partitions
2. Publish 1 mln messages (30KB)
3. Run the client and consumer:
```java
PulsarClient client = PulsarClient.builder()
.serviceUrl(this.pulsarBrokerUrl)
.build();
Consumer consumer = client.newConsumer()
.topic(sourceTopic)
.subscriptionInitialPosition(SubscriptionInitialPosition.Earliest)
.subscriptionName(subscriptionName)
.subscriptionType(SubscriptionType.Shared)
.receiverQueueSize(8)
.ackTimeout(5, TimeUnit.SECONDS)
.subscribe();
```
### What did you expect to see?
All messages are received
### What did you see instead?
Client stops to receive messages, restart client helps, but it get stuck after some time.
### Anything else?
The issue was originally created described here: #21082
@MichalKoziorowski-TomTom also faces the issue.
I've created new issue, because it in #21082 the author says that broker restart helps. In case of this issue, it looks like it's client related and some race condition observed in 3.x.x. after introducing `ackTimeout`
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Contributor guide
Assessment
This issue has not been assessed yet.