...
Command line tools
The format
sub-command in the the the kafka-storage.sh
tool will include two new properties when producing meta.properties
: directory.id
and directory.ids
. This sub-command already supports formatting formatting more than one log directory — by expecting a list of configured log.dirs
— and "formatting" only the ones that need so. All configured log directories must be available for kafka-storage.sh
format to run successfullyWhen multiple log.dirs
are configured, a new property will be included in meta.properties
— directory.id
— which will identify each log directory with a UUID. The UUID is randomly generated for each log directory.
meta.properties
Two new properties directory.id
and directory.ids
will be added to When multiple log.dirs
are configured, a new property — directory.id
— will be expected in the meta.properties
file in each log directory , including the metadata.configured under log.dirdirs
. The first property, directory.id
indicates property indicates the UUID for the log directory where the file is located, the second property, directory.ids
lists all the UUIDs for all the configured log directories. If the meta.properties
file doesn't exist for the metadata.log.dir
the Kafka node will fail to start. If the meta.properties
file exists but it doesn't contain these two properties a new one will be generated and the meta.properties
files will be updatedwhere the file is located. If any of the meta.properties
files does not contain directory.id
one will be randomly generated and the file will be updated upon Broker startup. The kafka-storage.sh
tool tool will be extended to generate or update the two properties this property as described in the previous section.
...
{ "name": "OnlineLogDirs", "type": "[]uuid", "versions": "3+", "taggedVersions": "3+", "tag": "0",
"about": "Log directories configured in this broker which are available." },
{ "name": "OfflineLogDirs", "type": "[]uuidbool", "versions": "3+",
"taggedVersions": "3+", "tag"about": "1",
True if "about": "Logany log directories configured in this broker which are not available." }
PartitionRecord
and PartitionChangeRecord
will both have a new Assignment
field which replaces the current Replicas
field:
...