Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The active controller makes changes to the metadata by appending records to the log. Each record has a null key, and this format for its value:

  1. an unsigned varint specifying the frame type (currently 0)
  2. an unsigned varint specifying the record type.
  3. an unsigned varint specifying the record version
  4. the payload in Kafka RPC format

For example, if we wanted to encode a TopicRecord, we might have 0 encoded as a varint, 1 encoded as a varint, followed by 0 as the record version, followed by the serialized topic data.

The frame type, record type, and version will typically only take one byte each, for a total header size overhead of two three bytes.

Record Format Versions

...