...
The timeout the user specifies will be purely to ensure we have a mechanism to give control back to the user even when no messages are delivered. It is up to the user to ensure poll() is called again within the heartbeat frequency set for the consumer group. Internally the timeout on our select() may uses a shorter timeout to ensure the heartbeat frequency is met even when no messages are delivered.
Consumer Group Membership
...
APIs
We will introduce a set of RPC apis for managing partition assignment on the consumer side. This will be based on the prototype here. This set of APIs is orthogonal to the APIs for producing and consuming data, it is responsible for group membership.
...
Code Block |
---|
Version => int16 CorrelationId => int64 ConsumerGroup => string ActualOffsets => [{Topic Partition Offset}] Topic => string Partition => int16 Offset => int64 ErrorCode => int16 |
Consumer Group Membership Protocol
The use of this protocol would be as follows:
...