KafkaRaftManager¶
KafkaRaftManager is a RaftManager.
KafkaRaftManager is created and immediately started when SharedServer is started.
Creating Instance¶
KafkaRaftManager takes the following to be created:
- MetaProperties
- KafkaConfig
-
RecordSerde[T] - Partition 0 of __cluster_metadata
- Topic ID (UUID)
-
Time - Metrics
- Thread Name Prefix (optional)
- Controller Quorum Voters (
CompletableFuture[util.Map[Integer, AddressSpec]]) -
FaultHandler
KafkaRaftManager is created when:
KafkaServeris requested to start up (with zookeeper.metadata.migration.enable enabled)SharedServeris requested to start
__cluster_metadata-0 Partition¶
KafkaRaftManager is given a TopicPartition when created:
__cluster_metadataas the name of the cluster metadata topic- Partition
0
Metadata Log Directory¶
KafkaRaftManager creates a data directory when created.
createDataDir¶
createDataDir(): File
createDataDir creates the name of the log directory of the TopicPartition.
createDataDir creates the directory in the metadataLogDir.
Starting Up¶
startup(): Unit
Procedure
startup is a procedure (returns Unit) so what happens inside stays inside (paraphrasing the former advertising slogan of Las Vegas, Nevada).
startup...FIXME
startup is used when:
KafkaServeris requested to startupSharedServeris requested to startMetadataShellis requested to initializeWithRaftManager (upon run)