[ https://issues.apache.org/jira/browse/KAFKA-19228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kevin Wu updated KAFKA-19228: ----------------------------- Description: The current implementation of this flag will write kraft version 1 to the bootstrap metadata. However, this is not exactly correct. KRaft version 1 means the voter set is discoverable from the log, but here we have KRaft version 1 but no voter set yet on this node. The intention of setting this flag is to indicate the cluster is bootstrapped with a voter set, and therefore should essentially be a no-op (i.e. it should not write this version record anywhere). It sort of behaves like this, since we do not write a dynamic quorum snapshot unlike when setting `–standalone` or `--initial-controllers`. This is important because this means a cluster with kraft version 0 that discovers the voter set via the `controller.quorum.voters` static config can also be formatted with this flag set without throwing an error. was: The current implementation of this flag will write a kraft version control record to the node's log with a value of 1. However, this is not exactly correct. KRaft version 1 means the voter set is discoverable from the log, but here we have KRaft version 1 but no voter set yet on this node. The intention of setting this flag is to indicate the cluster is bootstrapped with a voter set, and therefore should essentially be a no-op (i.e. it should not write this version record). This is important because this means a cluster with kraft version 0 that discovers the voter set via the `controller.quorum.voters` static config can also be formatted with this flag set without throwing an error. > Formatting with `--no-initial-controllers` flag should not write kraft > version control record > --------------------------------------------------------------------------------------------- > > Key: KAFKA-19228 > URL: https://issues.apache.org/jira/browse/KAFKA-19228 > Project: Kafka > Issue Type: Bug > Reporter: Kevin Wu > Assignee: Kevin Wu > Priority: Major > > The current implementation of this flag will write kraft version 1 to the > bootstrap metadata. However, this is not exactly correct. KRaft version 1 > means the voter set is discoverable from the log, but here we have KRaft > version 1 but no voter set yet on this node. > The intention of setting this flag is to indicate the cluster is bootstrapped > with a voter set, and therefore should essentially be a no-op (i.e. it should > not write this version record anywhere). It sort of behaves like this, since > we do not write a dynamic quorum snapshot unlike when setting `–standalone` > or `--initial-controllers`. > > This is important because this means a cluster with kraft version 0 that > discovers the voter set via the `controller.quorum.voters` static config can > also be formatted with this flag set without throwing an error. -- This message was sent by Atlassian Jira (v8.20.10#820010)