This page describes a proposed Kafka Improvement Proposal (KIP) process for proposing a major change to Kafka.
...
Create from template | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Table of Contents |
---|
Getting Started
If this is your first time contributing:
- Sign up for the Developer mailing list
dev@kafka.apache.org
. The instructions to sign up are here: http://kafka.apache.org/contact
...
- Create a wiki ID (https://cwiki.apache.org/confluence/signup.action)
- Create a Jira ID (It's a different system than the wiki) using the ASF Self-serve Portal (https://selfserve.apache.org/jira-account.html)
- Send an email to the dev mailing list (
dev@kafka.apache.org)
containing your wiki ID and Jira ID requesting permissions to contribute to Apache Kafka.
...
Purpose
We want to make Kafka a core architectural component for users. We also support a large number of integrations with other tools, systems, and clients. Keeping this kind of usage health requires a high level of compatibility between releases — core architectural elements can't break compatibility or shift functionality from release to release. As a result each new major feature or public api has to be done in a way that we can stick with it going forward.
...
- Binary log format
- The network protocol and api behavior
- Any class for which the build generates Javadoc. This includes (but is not limited to; look for
javadoc {}
sections in the public packages under clientsbuild.gradle
for the complete list):org/apache/kafka/common/serialization
org/apache/kafka/common
org/apache/kafka/common/errors
org/apache/kafka/clients/producer
org/apache/kafka/clients/consumer (eventually, once stable)
- Configuration, especially client configuration
- Monitoring
- Command line tools and arguments
...
- Click
. Take the next available KIP number and give your proposal a descriptive heading. e.g. "KIP 42: Allow Infinite Retention With Bounded Disk Usage".Create from template templateName 54329345 templateId 54329345 title KIP-NEXT: Insert Title Here buttonLabel Create KIP - Update the next available KIP number below.
- Fill in the sections as described above
- Also add an entry to the table KIPs under discussion (for Streams API KIPs, please also add it to Kafka Streams sub page).
- Start a [DISCUSS] thread on the Apache mailing list. Start a [DISCUSS] thread on the Apache mailing list. Please ensure that the subject of the thread is of the format [DISCUSS] KIP-{your KIP number} {your KIP heading} The and the body contains a link to your new KIP. The discussion should happen on the mailing list, not on the wiki, since the wiki comment system doesn't work well for larger discussions. In the process of the discussion you may update the proposal. You should let people know the changes you are making. When you feel you have a finalized proposal
- Once the proposal is finalized call a [VOTE] to have the proposal adopted. These proposals are more serious than code changes and more serious even than release votes. The criteria for acceptance is lazy majority. The vote should remain open for at least 72 hours.
- Please update the KIP wiki page, and the index below, to reflect the current stage of the KIP after a vote. This acts as the permanent record indicating the result of the KIP (e.g., Accepted or Rejected). Also report the result of the KIP vote to the voting thread on the mailing list so the conclusion is clear.e
KIP round-up
Next KIP Number: 4641020
Use this number as the identifier for your KIP and increment this value.
...
Please insert new rows in sorted order (descending by KIP number).
KIP (please keep this sorted by KIP number) | Release |
---|
KIP- |
2.2.0 (partially implemented)
/ 2.3.0
KIP-164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics
(WIP for 2.3.0)
0.11.0.0
0.11.0.0
KIP-106 - Change Default unclean.leader.election.enabled from True to False
...
Please insert new rows in sorted order (by KIP number).
KIP-185: Make exactly once in order delivery the default producer setting
Discussion
KIP-373: Allow users to create delegation tokens for other users |
Discarded KIPs
Please insert new rows in sorted order (by KIP number).
KIP-34 Add Partitioner Change Listener to Partitioner Interface for Multiple Use Case
Duplicated by KIP-160
3.3.0 |
KIP- |
Voting in progress (restarted 18th January 2019, due to no votes in first attempt)
Discussion
Discussion
Discussion
Discussion
Draft
Dormant/inactive KIPs
Please insert new rows in sorted order (by KIP number).
...
Functionality can be realized with existing API although at a lower level.
KIP-215: Add topic regex support for Connect sinks |
KIPs under discussion
Please insert new rows in sorted order (ascending by KIP number). Please move the adopted/accepted KIPs to the "Adopted KIPs" table above.
Dormant/inactive KIPs
Please insert new rows in sorted order (ascending by KIP number).
Discarded KIPs
Please insert new rows in sorted order (ascending by KIP number).
KIP Discussion Recordings
...