ConsumerResetProtection

akka.kafka.internal.ConsumerResetProtection
See theConsumerResetProtection companion object

Added as part of https://github.com/akka/alpakka-kafka/issues/1286 to avoid reprocessing data in case of Kafka temporarily "losing" an offset.

Attributes

Companion:
object
Source:
ConsumerResetProtection.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Abstract methods

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. 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.

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.

Attributes

Source:
ConsumerResetProtection.scala