BewareMyPower opened a new issue, #534: URL: https://github.com/apache/pulsar-client-cpp/issues/534
### Search before asking - [x] I searched in the [issues](https://github.com/apache/pulsar-client-cpp/issues) and found nothing similar. ### Version master ### Minimal reproduce step [reproduce.diff.txt](https://github.com/user-attachments/files/24638253/reproduce.diff.txt) Apply the patch above to the main branch and run `ConsumerSeekTest.testSubscribeSeekRaces`. ### What did you expect to see? The `seek` call should return quickly. ### What did you see instead? The `seek` call is blocked. ### Anything else? This bug happened in the following process order: 1. Consumer sent a SEEK request, the seek status was set to `IN_PROGRESS` and the callback was assigned to `seekCallback_` 2. Broker disconnected and started resetting the cursor 3. Consumer received a CLOSE_CONSUMER request and scheduled reconnection after 100ms 4. Consumer reconnected and call `connectionOpened`. **Since the seek status is `IN_PROGRESS`, it would not trigger the seek callback.** A SUBSCRIBE request would be sent. 5. Consumer received a SEEK response. **Since the SUBSCRIBE response was not received for now, the `cnx` field was not set, so the seek status was set to `COMPLETE` and wait for `connectionOpened` to complete the callback** ### Are you willing to submit a PR? - [x] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
