kafka/core
Muralidhar Basani 98e630e3e4 KAFKA-16518: Implement KIP-853 flags for storage-tool.sh
As part of KIP-853, storage-tool.sh now has two new flags: --standalone, and --initial-voters.
This PR implements these two flags in storage-tool.sh.

There are currently two valid ways to format a cluster:

- The pre-KIP-853 way, where you use a statically configured controller quorum. In this case,
  neither --standalone nor --initial-voters may be specified, and kraft.version must be set to 0.

- The KIP-853 way, where one of --standalone and --initial-voters must be specified with the
  initial value of the dynamic controller quorum. In this case, kraft.version must be set to 1.

This PR moves the formatting logic out of StorageTool.scala and into Formatter.java. The tool file
was never intended to get so huge, or to implement complex logic like generating metadata records.
Those things should be done by code in the metadata or raft gradle modules. This is also useful for
junit tests, which often need to do formatting. (The 'info' and 'random-uuid' commands remain in
StorageTool.scala, for now.)
2024-07-29 13:16:42 -07:00
..
src KAFKA-16518: Implement KIP-853 flags for storage-tool.sh 2024-07-29 13:16:42 -07:00
.gitignore KAFKA-4848: Fix retryWithBackoff deadlock issue 2017-03-20 21:56:15 -07:00