Hi all,

While Kafka 3.6.0 is released, I’d like to start the discussion for the
“road to Kafka 4.0”. Based on the plan in KIP-833
<https://cwiki.apache.org/confluence/display/KAFKA/KIP-833%3A+Mark+KRaft+as+Production+Ready#KIP833:MarkKRaftasProductionReady-Kafka3.7>,
the next release 3.7 will be the final release before moving to Kafka 4.0
to remove the Zookeeper from Kafka. Before making this major change, I'd
like to get consensus on the "must-have features/fixes for Kafka 4.0", to
avoid some users being surprised when upgrading to Kafka 4.0. The intent is
to have a clear communication about what to expect in the following months.
In particular we should be signaling what features and configurations are
not supported, or at risk (if no one is able to add support or fix known
bugs).

Here is the JIRA tickets list
<https://issues.apache.org/jira/issues/?jql=labels%20%3D%204.0-blocker> I
labeled for "4.0-blocker". The criteria I labeled as “4.0-blocker” are:
1. The feature is supported in Zookeeper Mode, but not supported in KRaft
mode, yet (ex: KIP-858: JBOD in KRaft)
2. Critical bugs in KRaft, (ex: KAFKA-15489 : split brain in KRaft
controller quorum)

If you disagree with my current list, welcome to have discussion in the
specific JIRA ticket. Or, if you think there are some tickets I missed,
welcome to start a discussion in the JIRA ticket and ping me or other
people. After we get the consensus, we can label/unlabel it afterwards.
Again, the goal is to have an open communication with the community about
what will be coming in 4.0.

Below is the high level category of the list content:

1. Recovery from disk failure
KIP-856
<https://cwiki.apache.org/confluence/display/KAFKA/KIP-856:+KRaft+Disk+Failure+Recovery>:
KRaft Disk Failure Recovery

2. Prevote to support controllers more than 3
KIP-650
<https://cwiki.apache.org/confluence/display/KAFKA/KIP-650%3A+Enhance+Kafkaesque+Raft+semantics>:
Enhance Kafkaesque Raft semantics

3. JBOD support
KIP-858
<https://cwiki.apache.org/confluence/display/KAFKA/KIP-858%3A+Handle+JBOD+broker+disk+failure+in+KRaft>:
Handle
JBOD broker disk failure in KRaft

4. Scale up/down Controllers
KIP-853
<https://cwiki.apache.org/confluence/display/KAFKA/KIP-853%3A+KRaft+Controller+Membership+Changes>:
KRaft Controller Membership Changes

5. Modifying dynamic configurations on the KRaft controller

6. Critical bugs in KRaft

Does this make sense?
Any feedback is welcomed.

Thank you.
Luke

Reply via email to