Hi Paolo,

Re: JS2
The solution you propose to address Stimiz's limitation—not providing
a stable network layer to the Kafka StatefulSet—is incompatible with
KRaft's replication and dynamic reconfiguration. In short, if the KIP
overrides the voters per node, it will cause diverging states across
the nodes when dynamic reconfiguration is present.

It is important to distinguish between required and standard
operations like formatting the bootstrapping controller(s), and
dangerous recovery operations like overriding the voter set endpoints
without KRaft's validations and invariants.

Re: LC2
As Luke mentioned, we are making a concerted effort to remove the need
to format the Kafka nodes. With KIP-1262 users and k8s operators are
only required to run format on the initial/bootstrapping controllers.
For example, some k8s operators format the kafka cluster by formatting
only one controller with --standalone and then increasing the
controller cluster by adding the other controllers using the
mechanisms provided by KIP-853.

JS4
> Create a new snapshot at the current log end offset containing:
What happens if a snapshot already exists at that log end offset?

JS5
In the "Broker considerations" section you have:
"It uses these endpoints to connect to the KRaft controller quorum.
The controller.quorum.bootstrap.servers configuration is not used to
reach out the controllers."

This is not entirely accurate. Kafka nodes discover the active
controller using controller.quorum.bootstrap.servers if defined. If it
is not defined they fall back to using "controller.quorum.voters". In
general, the endpoints in the voter set are used by the controllers
(voters) to send KRaft election RPCs like VOTE, BEGIN_QUORUM_EPOCH,
etc.

JS6
I still don't understand why the Kafka k8s operators can't take
advantage of k8s' Headless Service to have multiple DNS names for the
same Kafka controller pods. Based on my research this is exactly how
the etcd-operator manages etcd clusters hosted by k8s. At a high
level, KRaft and etcd have very similar designs and configurations
because they are both inspired by Raft.

Thanks,
-Jose



On Mon, May 18, 2026 at 9:56 AM Paolo Patierno <[email protected]> wrote:
>
> Hi all,
> I would like to start a discussion on KIP-1347
> <https://urldefense.com/v3/__https://cwiki.apache.org/confluence/display/KAFKA/KIP-1347*3A*Overriding*voter*set*on*storage*formatting__;JSsrKysrKw!!Ayb5sqE7!rJw9_TvAMPlGRNosHTx9GCpbIjQNdzlfi9c0kE28-lbpMJcc4ulXcH089XM47j6eDRhOMwL6aNHMGBkNsvFlg6fOA5o$
>  >
> which
> is about allowing the override of the voter set through the storage
> formatting tool to recover a disaster scenario where the KRaft quorum can't
> be formed anymore. This KIP aims to fix KAFKA-20427
> <https://urldefense.com/v3/__https://issues.apache.org/jira/browse/KAFKA-20427__;!!Ayb5sqE7!rJw9_TvAMPlGRNosHTx9GCpbIjQNdzlfi9c0kE28-lbpMJcc4ulXcH089XM47j6eDRhOMwL6aNHMGBkNsvFlqZsa23U$
>  >.
> Any feedback is very welcome.
>
> Thanks,
> Paolo.
>
> --
> Paolo Patierno
>
> *Senior Principal Software Engineer @ IBM**CNCF Ambassador*
>
> Twitter : @ppatierno 
> <https://urldefense.com/v3/__http://twitter.com/ppatierno__;!!Ayb5sqE7!rJw9_TvAMPlGRNosHTx9GCpbIjQNdzlfi9c0kE28-lbpMJcc4ulXcH089XM47j6eDRhOMwL6aNHMGBkNsvFlfwO9F0Y$
>  >
> Linkedin : paolopatierno 
> <https://urldefense.com/v3/__http://it.linkedin.com/in/paolopatierno__;!!Ayb5sqE7!rJw9_TvAMPlGRNosHTx9GCpbIjQNdzlfi9c0kE28-lbpMJcc4ulXcH089XM47j6eDRhOMwL6aNHMGBkNsvFlA3NPTbA$
>  >
> GitHub : ppatierno 
> <https://urldefense.com/v3/__https://github.com/ppatierno__;!!Ayb5sqE7!rJw9_TvAMPlGRNosHTx9GCpbIjQNdzlfi9c0kE28-lbpMJcc4ulXcH089XM47j6eDRhOMwL6aNHMGBkNsvFlPqZuL0A$
>  >



--
-José

Reply via email to