We want to avoid running out of memory when the user stops reading the
KafkaConsumer.messagesAsyncSequence. Therefore we drop any incoming
messages that we receive after the AsyncSequence was terminated.
Modifications:
KafkaConsumer
enter idle polling state when KafkaConsumer.messagesAsyncSequence was terminated to ensure that the func run()
async does not return early and result in an error for its ServiceGroup
KafkaConsumerConfiguration:
proxy enable.auto.commit and make it false by default
Reason: our library should be in charge of deciding when a message
offset is to be commited because only we know if our library user received the message through the
KafkaConsumer.messagesAsyncSequence
KafkaSharedConfiguration.partition: document default value of
parameter offset
add new test SwiftKafkaTests.testCommittedOffsetsAreCorrect()
Motivation:
We want to avoid running out of memory when the user stops reading the
KafkaConsumer.messages
AsyncSequence
. Therefore we drop any incoming messages that we receive after theAsyncSequence
was terminated.Modifications:
KafkaConsumer
KafkaConsumer.messages
AsyncSequence
was terminated to ensure that thefunc run()
async does not return early and result in an error for itsServiceGroup
KafkaConsumerConfiguration
:enable.auto.commit
and make itfalse
by default Reason: our library should be in charge of deciding when a message offset is to be commited because only we know if our library user received the message through theKafkaConsumer.messages
AsyncSequence
KafkaSharedConfiguration.partition
: document default value of parameteroffset
SwiftKafkaTests.testCommittedOffsetsAreCorrect()