sealed trait ConsumerResetProtection extends AnyRef
Added as part of https://github.com/akka/alpakka-kafka/issues/1286 to avoid reprocessing data in case of Kafka temporarily "losing" an offset.
- Annotations
- @InternalApi()
- Source
- ConsumerResetProtection.scala
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- ConsumerResetProtection
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Abstract Value Members
- abstract def protect[K, V](consumer: ActorRef, records: ConsumerRecords[K, V]): ConsumerRecords[K, V]
Check the offsets of the records for each partition are not "much older" than the records that we have seen thus far for the partition.
Check the offsets of the records for each partition are not "much older" than the records that we have seen thus far for the partition. Records/partitions that appear to have rewound to a much earlier time (as defined by the configured threshold) are dropped and the consumer is seeked back to the last safe offset for that partition - the last committed offset for the partition. Records that are newer - or within the rewind threshold - are passed through.