Bug description
Description
When calling shutdown() on the IggyConsumer polling is still possible with next() but causes unintended behavior for:
- standalone consumer next() still consumes messages from buffer or server, while sending offsets is prevented due to dropping the channel in shutdown()
- a consumer group member after shutdown can still call next but hangs indefinitely:
|
while !can_poll.load(ORDERING) |
Calling init() again is idempotent, so a user cannot recover from this state.
Options
- make poll_next() check shutdown() and return
None to respect the Stream trait
IggyError that can be handled by the user (preferred)
Affected area / component
Rust SDK
Deployment
None
Versions
No response
Hardware / environment
No response
Sample code
No response
Logs
No response
Iggy server config
No response
Reproduction
No response
Contribution
Good first issue
Bug description
Description
When calling shutdown() on the IggyConsumer polling is still possible with next() but causes unintended behavior for:
iggy/core/sdk/src/clients/consumer.rs
Line 695 in 6043d19
Calling init() again is idempotent, so a user cannot recover from this state.
Options
Noneto respect the Stream traitIggyErrorthat can be handled by the user (preferred)Affected area / component
Rust SDK
Deployment
None
Versions
No response
Hardware / environment
No response
Sample code
No response
Logs
No response
Iggy server config
No response
Reproduction
No response
Contribution
Good first issue