Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add Metadata records

...

Code Block
languagejs
titleDisklessDescribeFiles
{
  "apiKey": 100,
  "type": "request",
  "listeners": ["controller"],
  "name": "DisklessDescribeFilesRequest",
  // Version 0 is the initial version.
  "validVersions": "0",
  "flexibleVersions": "0+",
  "fields": [
    { "name": "Files", "type": "[]DisklessDescribeFileEntry", "versions": "0+",
      "about": "Each file to describe.", "fields": [
      { "name": "ObjectKey", "type": "string", "versions": "0+", "mapKey": true,
        "about": "The object key identifying the file in object storage." }
    ]},
    { "name": "TimeoutMs", "type": "int32", "versions": "0+", "default": "60000",
      "about": "How long to wait in milliseconds before timing out the request." }
  ]
}

{
  "apiKey": 100,
  "type": "response",
  "name": "DisklessDescribeFilesResponse",
  // Version 0 is the initial version.
  "validVersions": "0",
  "flexibleVersions": "0+",
  "fields": [
    { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "ignorable": true,
      "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
    { "name": "Files", "type": "[]DisklessDescribeFileResult", "versions": "0+",
      "about": "Results for each file.", "fields": [
      { "name": "ObjectKey", "type": "string", "versions": "0+", "mapKey": true,
        "about": "The object key identifying the file in object storage." },
      { "name": "ErrorCode", "type": "int16", "versions": "0+",
        "about": "The error code, or 0 if there was no error." },
      { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+", "ignorable": true, "default": "null",
        "about": "The error message, or null if there was no error." },
      { "name": "HasLiveBatches", "type": "bool", "versions": "0+",
        "about": "True if the file still has live batches tracked by this coordinator." }
    ]}
  ]
}

Metadata records

DisklessPartitionCreatedRecord

Code Block
languagejs
titleDisklessPartitionCreatedRecord
{
  "apiKey": 100,
  "type": "data",
  "name": "DisklessPartitionsCreatedRecordDisklessPartitionCreatedRecord",
  // Version 0 is the initial version.
  "validVersions": "0",
  "flexibleVersions": "0+",
  "fields": [
    { "name": "TopicsTopicId", "type": "[]DisklessCreatedPartitionTopicuuid", "versions": "0+",
      "about": "The topicsunique withtopic created partitionsID.", "fields": [
   },
    { "name": "TopicIdName", "type": "uuidstring", "versions": "0+",
 "entityType": "topicName",
      "about": "The unique topic IDname." },
      { "name": "NamePartitionIndex", "type": "stringint32", "versions": "0+", "entityType": "topicName",
        "about": "The topicpartition nameindex." },
      { "name": "Partitions",]
}

DisklessTopicDeletedRecord

DisklessPartitionCreatedRecord
Code Block
languagejs
titleDisklessTopicDeletedRecord
{
  "apiKey": 101,
  "type": "[]DisklessCreatedPartitiondata",
  "versionsname": "0+DisklessTopicDeletedRecord",
  // Version 0 is the initial version.
  "aboutvalidVersions": "The0",
 partitions created for this topic.","flexibleVersions": "0+",
  "fields": [
        { "name": "PartitionIndexTopicId", "type": "int32uuid", "versions": "0+",
          "about": "The unique partitiontopic indexID." }
      ]}
    ]}
  ]
}
Code Block
languagejs
title

DisklessFileCommittedRecord

Code Block
languagejs
titleDisklessPartitionCreatedRecordDisklessFileCommittedRecord
{
  "apiKey": 102,
  "type": "data",
  "name": "DisklessFileCommittedRecord",
  // Version 0 is the initial version.
  "validVersions": "0",
  "flexibleVersions": "0+",
  "fields": [
    { "name": "ObjectKey", "type": "string", "versions": "0+",
      "about": "The object key identifying the file in object storage." },
    { "name": "ObjectFormat", "type": "int8", "versions": "0+",
      "about": "The format of the object (e.g. 1 = WRITE_AHEAD_MULTI_SEGMENT)." },
    { "name": "FileSize", "type": "int64", "versions": "0+",
      "about": "The total size of the file in bytes." },
    { "name": "UploaderBrokerId", "type": "int32", "versions": "0+", "entityType": "brokerId",
      "about": "The broker that uploaded the file." },
    { "name": "OwnerIds", "type": "[]int32", "versions": "0+", "entityType": "brokerId",
      "about": "The list of Diskless Coordinator IDs that share ownership of this file." },
    { "name": "Batches", "type": "[]DisklessCommittedBatch", "versions": "0+",
      "about": "The accepted batches in this file.", "fields": [
      { "name": "Magic", "type": "int8", "versions": "0+",
        "about": "The record batch magic byte." },
      { "name": "TopicId", "type": "uuid", "versions": "0+",
        "about": "The topic ID of the partition this batch belongs to." },
      { "name": "PartitionIndex", "type": "int32", "versions": "0+",
        "about": "The partition index this batch belongs to." },
      { "name": "ByteOffset", "type": "int32", "versions": "0+",
        "about": "The byte offset of this batch within the file." },
      { "name": "ByteSize", "type": "int32", "versions": "0+",
        "about": "The size of the batch in bytes." },
      { "name": "AssignedBaseOffset", "type": "int64", "versions": "0+",
        "about": "The base offset assigned by the coordinator." },
      { "name": "AssignedLastOffset", "type": "int64", "versions": "0+",
        "about": "The last offset assigned by the coordinator." },
      { "name": "LogAppendTimestamp", "type": "int64", "versions": "0+",
        "about": "The log append timestamp assigned by the coordinator." },
      { "name": "BatchMaxTimestamp", "type": "int64", "versions": "0+",
        "about": "The maximum timestamp in the batch." },
      { "name": "TimestampType", "type": "int8", "versions": "0+",
        "about": "The timestamp type (0 = CreateTime, 1 = LogAppendTime)." },
      { "name": "ProducerId", "type": "int64", "versions": "0+",
        "about": "The producer ID, or -1 if not set." },
      { "name": "ProducerEpoch", "type": "int16", "versions": "0+",
        "about": "The producer epoch, or -1 if not set." },
      { "name": "BaseSequence", "type": "int32", "versions": "0+",
        "about": "The base sequence number, or -1 if not set." },
      { "name": "LastSequence", "type": "int32", "versions": "0+",
        "about": "The last sequence number, or -1 if not set." }
    ]}
  ]
}

DisklessRecordsDeletedRecord

DisklessPartitionCreatedRecord
Code Block
languagejs
titleDisklessRecordsDeletedRecord
{
  "apiKey": 103,
  "type": "data",
  "name": "DisklessRecordsDeletedRecord",
  // Version 0 is the initial version.
  "validVersions": "0",
  "flexibleVersions": "0+",
  "fields": [
    { "name": "TopicId", "type": "uuid", "versions": "0+",
      "about": "The unique topic ID." },
    { "name": "PartitionIndex", "type": "int32", "versions": "0+",
      "about": "The partition index." },
    { "name": "NewLogStartOffset", "type": "int64", "versions": "0+",
      "about": "The new log start offset after deletion. All batches with last offset less than this value are removed." }
  ]
}
Code Block
languagejs
title

Configuration

TBD

Monitoring

...