View Source kpro_consumer_group (kafka_protocol v4.1.9)
Summary
Functions
This function takes key and value binaries of a kafka message consumed from __consumer_offsets topic, and return decoded values with a tag. spec: {Tag :: offset | group, DecodedKey, DecodedValue}
Types
-type decoded() :: {tag(), Key :: kpro:struct(), Value :: kpro:struct()}.
-type tag() :: offset | group.
Functions
This function takes key and value binaries of a kafka message consumed from __consumer_offsets topic, and return decoded values with a tag. spec: {Tag :: offset | group, DecodedKey, DecodedValue}
NOTE! DecodedValue can be an empty list (when consumer group is dead or after offset is expired).
Key Fields when version = 0 | 1 (committed offset) version :: 0 | 1 group_id :: binary() topic :: binary() partition :: integer()
Key Fields when version = 2 (consumer group metadata) version :: 2 group_id :: binary()
Value Fields (when key version is 0 | 1): version :: 0 | 1 offset :: integer() metadata :: binary() timestamp :: integer() when version = 0 commit_time :: integer() when version = 1 expire_time :: integer() when version = 1
Value Fields (when key version is 2): version :: integer() %% up to the consumer implementation protocol_type :: binary() %% should be<<"consumer">>
but not must generation_id :: integer() protocol :: binary() %% <<"roundrobin">>
etc. leader :: binary() members :: array of member_id :: binary() client_id :: binary() client_host :: binary() session_timeout :: integer() %% milliseconds subscription :: version :: integer() topics :: [binary()] user_data :: binary() assignment (nullable) version :: integer() topic_partitions :: [{Topic::binary(), [Partition::integer()]}] user_data :: undefined | binary()