Module: Karafka::Params::Builders::BatchMetadata

Defined in:
lib/karafka/params/builders/batch_metadata.rb

Overview

Builder for creating batch metadata object based on the batch informations

Class Method Summary collapse

Class Method Details

.from_kafka_batch(kafka_batch, topic) ⇒ Karafka::Params::BatchMetadata

Creates metadata based on the kafka batch data

Parameters:

  • kafka_batch (Kafka::FetchedBatch)

    kafka batch details

  • topic (Karafka::Routing::Topic)

    topic for which we’ve fetched the batch

Returns:



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/karafka/params/builders/batch_metadata.rb', line 13

def from_kafka_batch(kafka_batch, topic)
  Karafka::Params::BatchMetadata.new(
    batch_size: kafka_batch.messages.count,
    first_offset: kafka_batch.first_offset,
    highwater_mark_offset: kafka_batch.highwater_mark_offset,
    unknown_last_offset: kafka_batch.unknown_last_offset?,
    last_offset: kafka_batch.last_offset,
    offset_lag: kafka_batch.offset_lag,
    deserializer: topic.deserializer,
    partition: kafka_batch.partition,
    topic: topic.name
  ).freeze
end