[
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)