THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
1. DisableRemoteTopic
is a new controller-to-broker API with the following schema. Note that this will bump the inter.broker.protocol.version
.
Code Block | ||||
---|---|---|---|---|
| ||||
{ "apiKey": TBD:(INT16), "type": "metadata", "name": "DisableRemoteTopic", "validVersions": "0", "flexibleVersions": "0+", "fields": [ { "name": "PartitionId", "type": "int32", "versions": "0+", "default": "-1", "about": "The partition id." }, { "name": "TopicId", "type": "uuid", "versions": "0+", "about": "The unique ID of this topic." } ] } |
...
2. The RemoteLogSegmentMetadata
will have a new field, tieredEpoch
.
Code Block | ||||
---|---|---|---|---|
| ||||
public RemoteLogSegmentMetadata(RemoteLogSegmentId remoteLogSegmentId, long startOffset, long endOffset, long maxTimestamp, int leaderEpoch, long eventTimestamp, int segmentSizeInBytes, RemoteLogSegmentState state, Map<Int, Long> segmentLeaderEpochs, int tieredEpoch) { this.remoteLogSegmentId = remoteLogSegmentId; this.startOffset = startOffset; this.endOffset = endOffset; this.leaderEpoch = leaderEpoch; this.maxTimestamp = maxTimestamp; this.eventTimestamp = eventTimestamp; this.segmentLeaderEpochs = segmentLeaderEpochs; this.state = state; this.segmentSizeInBytes = segmentSizeInBytes; + this.tieredEpoch = tieredEpoch; } |
...
3. In ZooKeeper-based clusters, the topics' ZNode will have two new leaf ZNodes for storing the tiered epoch and the tiering state.
Code Block | |
---|---|
language | java | title | ZK
/brokers/topics/{topic-name}/partitions /tieredstorage/ /tiered_epoch /state |
...