This page describes a proposed Kafka Improvement Proposal (KIP) process for proposing a major change to Kafka.
To create your own KIP, click on
Create from template | ||||||||
---|---|---|---|---|---|---|---|---|
|
dev@kafka.apache.org
and request permission (http://kafka.apache.org/contact). Also add an entry to the table KIPs under discussion (for Streams API KIPs, please also add it to Kafka Streams sub page)....
- 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 - Fill in the sections as described above
- 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.
KIP round-up
Next KIP Number: 373529
Use this number as the identifier for your KIP and increment this value.
Adopted KIPs
Please insert new rows in sorted order (descending by KIP number).
KIP (please keep this sorted by KIP number) | Release | ||||||
---|---|---|---|---|---|---|---|
1 | KIP- | 110: Add Codec for ZStandard Compression2.1.0500: Replace ZooKeeper with a Self-Managed Metadata Quorum | |||||
2 | KIP-366: Make FunctionConversions deprecated482: The Kafka Protocol should Support Optional Tagged Fields | 2.14.0 (WIP) | |||||
3 | KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde-504 - Add new Java Authorizer Interface | 2.14.0 (WIP) | |||||
4 | KIPKIP-361: Add Consumer Configuration to Disable Auto Topic Creation503: Add metric for number of topics marked for deletion | 2.14.0 (WIP) | |||||
5 | KIP-359: Verify leader epoch in produce requests497: Add inter-broker API to alter ISR | 2.14.0 (WIP) | |||||
6 | KIP- | 357496: | Add support to list ACLs per principalAdministrative API to delete consumer offsets | 2. | 14.0 (WIP) | ||
7 | KIP- | 356: Add withCachingDisabled() to StoreBuilder495: Dynamically Adjust Log Levels in Connect | 2. | 14.0 (WIP) | |||
8 | KIP-353: Improve Kafka Streams Timestamp Synchronization488: Clean up Sum,Count,Total Metrics | 2.14.0 | |||||
9 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication484: Expose metrics for group and transaction metadata loading duration | 2.14.0 (WIP) | |||||
10 | KIP-341: Update Sticky Assignor's User Data Protocol481: SerDe Improvements for Connect Decimal type in JSON | 2.14.0 (WIP) | |||||
11 | KIP- | 338 Support to exclude the internal topics in kafka-topics.sh command480: Sticky Partitioner | 2. | 14.0 | |||
12 | KIP- | 340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file479: Add Materialized to Join | 2. | 14.0(WIP) | |||
13 | KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer476: Add Java AdminClient Interface | 2.14.0 (WIP) | |||||
14 | KIP-332475: Update AclCommand to use AdminClient APINew Metrics to Measure Number of Tasks on a Connector | 2.14.0 (WIP) | |||||
15 | KIP- | 330: Add retentionPeriod in SessionBytesStoreSupplier474: To deprecate WindowStore#put(key, value) | 2. | 14.0 (WIP) | |||
16 | KIP- | 328: Ability to suppress updates for KTables471: Expose RocksDB Metrics in Kafka Streams | 2. | 14.0 (WIP) | |||
17 | KIP-324: Add method to get metrics() in AdminClient467: Augment ProduceResponse error messaging for specific culprit records | 2.14.0 (WIP) | |||||
18 | KIP- | 322: Return new error code for DeleteTopics API when topic deletion disabled.465: Add Consolidated Connector Endpoint to Connect REST API | 2. | 13.0 | |||
19 | KIP-321: Update TopologyDescription to better represent Source and Sink Nodes464: Defaults for AdminClient#createTopic | 2.14.0 | |||||
20 | KIP-320: Allow fetchers to detect and handle log truncation462: Use local thread id for KStreams | 2.13.0 | |||||
21 | KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier461: Improve Replica Fetcher behavior at handling partition failure | 2.13.0 | |||||
22 | KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides460: Admin Leader Election RPC | 2.14.0 | |||||
23 | KIP- | 306: Configuration for Delaying Response to Failed Authentication458: Connector Client Config Override Policy | 2. | 13.0 | |||
24 | KIP- | 305: Add Connect primitive number converters455: Create an Administrative API for Replica Reassignment | 2. | 04.0 (WIP) | |||
25 | KIP-303: Add Dynamic Routing in Streams Sink454: Expansion of the ConnectClusterState interface | 2.03.0 | |||||
26 | KIP-298: Error Handling in Connect453: Add close() method to RocksDBConfigSetter | 2.03.0 | |||||
27 | KIP- | 297: Externalizing Secrets for Connect Configurations449: Add connector contexts to log messages in Connect workers | 2. | 03.0 | |||
28 | KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization446: Add changelog topic configuration to KTable suppress | 2.04.0 (WIP) | |||||
29 | KIP-294 - Enable TLS hostname verification by default445: In-memory Session Store | 2.03.0 | |||||
30 | 292: Add transformValues() method to KTable | 2.03.0 | |||||
31 | KIP-290: Support for Prefixed ACLs442: Return to default max poll interval in Streams | 2.03.0 | |||||
32 | KIP-289: Improve the default group id behavior in KafkaConsumer440: Extend Connect Converter to support headers | 2.14.0 (WIP) | |||||
33 | KIP- | 285: Connect Rest Extension Plugin436: Add a metric indicating start time | 2. | 03.0 | |||
34 | KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE434: Add Replica Fetcher and Log Cleaner Count Metrics | 2.04.0 (WIP) | |||||
35 | KIP-283: Efficient Memory Usage for Down-Conversion430 - Return Authorized Operations in Describe Responses | 2.03.0 | |||||
36 | KIP-282: Add the listener name to the authentication context429: Kafka Consumer Incremental Rebalance Protocol | 2.04.0 (WIP) | |||||
37 | KIP- | 281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User428: Add in-memory window store | 2. | 03.0 | |||
38 | KIP-279: Fix log divergence between leader and follower after fast leader fail over427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2.03.0 | |||||
39 | KIP-278 - Add version option to Kafka's commands425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.03.0 | |||||
40 | KIP-277 - Fine Grained ACL for CreateTopics API421: Support resolving externalized secrets in AbstractConfig | 2.03.0 | |||||
41 | KIP-276 - Add StreamsConfig prefix for different consumers420: Add Single Value Fetch in Session Stores | 2.02.0 | |||||
42 | KIP-274: Kafka Streams Skipped Records Metrics417: Allow JmxTool to connect to a secured RMI port | 2.03.0 | |||||
43 | KIP- | 272: Add API version tag to broker's RequestsPerSec metric415: Incremental Cooperative Rebalancing in Kafka Connect | 2. | 03.0 | |||
44 | KIP-270 - A Scala Wrapper Library for 414: Expose Embedded ClientIds in Kafka Streams | 2.02.0 | |||||
45 | KIP-268: Simplify Kafka Streams Rebalance Metadata Upgrade412: Extend Admin API to support dynamic application log levels | 2.04.0 (WIP) | |||||
46 | 267: Add Processor Unit Test Support to Kafka Streams Test Utils | 2.03.0 | |||||
47 | KIP-266: Fix consumer indefinite blocking behavior402: Improve fairness in SocketServer processors | 2.2.0 (partially implemented) / 2.3.0 | |||||
48 | KIP- | 265: Make Windowed Serde to public APIs401: TransformerSupplier/ProcessorSupplier StateStore connecting | 2. | 04.0 (WIP) | |||
49 | KIP- | 261396: Add | Single Value Fetch in Window StoresCommit/List Offsets Operations to AdminClient | 2. | 04.0 (WIP) | ||
50 | KIP- | 257 - Configurable Quota Management394: Require member.id for initial join group request | 2. | 02.0 | |||
51 | KIP-255: OAuth Authentication via SASL/OAUTHBEARER393: Time windowed serde to properly deserialize changelog input topic | 2.02.0 | |||||
52 | KIP-251: Allow timestamp manipulation in Processor API389: Introduce a configurable consumer group size limit | 2.02.0 | |||||
53 | KIP- | 249: Add Delegation Token Operations to KafkaAdminClient386: Standardize on Min/Avg/Max metrics' default value | 2. | 02.0 | |||
54 | KIP- | 247: Add public test utils for Kafka Streams382: MirrorMaker 2.0 | 2.4 | 1.1.0 | |||
55 | 245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2.04.0 (WIP) | |||||
56 | KIP-244: Add Record Header support to Kafka Streams Processor API380: Detect outdated control requests and bounced brokers using broker generation | 2.02.0 | |||||
57 | KIP- | 243: Make ProducerConfig and ConsumerConfig constructors public377: TopicCommand to use AdminClient | 2.2 | 1.1.0 | |||
58 | KIP- | 239 Add queryableStoreName() to GlobalKTable376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2.2 | 1.1.0 | |||
59 | KIP- | 238: Expose Kafka cluster ID in Connect REST API374: Add '--help' option to all available Kafka CLI commands | 2.2 | 1.1.0 | |||
60 | KIP- | 237: More Controller Health Metrics372: Naming Repartition Topics for Joins and Grouping | 2. | 01.0 | |||
61 | KIP-233: Simplify StreamsBuilder#addGlobalStore371: Add a configuration to build custom SSL principal name | 2.21.1.0 | |||||
62 | KIP- | 231: Improve the Required ACL of ListGroups API369: Alternative Partitioner to Support "Always Round-Robin" Selection | 2. | 14.0 | (WIP)|||
63 | KIP -229: DeleteGroups API368: Allow SASL Connections to Periodically Re-Authenticate | 2.21.1.0 | |||||
64 | KIP- | 227 - Introduce Incremental FetchRequests to Increase Partition Scalability367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2.2 | 1.1.0 | |||
65 | KIP-226 - Dynamic Broker Configuration366: Make FunctionConversions deprecated | 21.1.0 | |||||
66 | KIP- | 225 - Use tags for consumer “records.lag” metrics365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2 | 1.1.0 | |||
67 | KIPKIP- | 224361: Add | configuration parameter `retries` to Streams APIConsumer Configuration to Disable Auto Topic Creation | 2.3 | 1.1.0 | ||
68 | KIP- | 223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer360: Improve handling of unknown producer | 2. | 04.0 (WIP) | |||
69 | KIP- | 222 - Add Consumer Group operations to Admin API359: Verify leader epoch in produce requests | 2. | 04.0 (WIP) | |||
70 | KIP- | 220: Add AdminClient into Kafka Streams' ClientSupplier358: Migrate Streams API to Duration instead of long ms times | 2 | 1.1.0 | |||
71 | KIP-219 - Improve quota communication357: Add support to list ACLs per principal | 2.01.0 | |||||
72 | KIP- | 218: Make KafkaFuture.Function java 8 lambda compatible356: Add withCachingDisabled() to StoreBuilder | 2 | 1.1.0 | |||
73 | KIP- | 215354: Add | topic regex support for Connect sinksa Maximum Log Compaction Lag | 2.3 | 1.1.0 | ||
74 | KIP- | 214: Add zookeeper.max.in.flight.requests config to the broker353: Improve Kafka Streams Timestamp Synchronization | 2 | 1.1.0 | |||
75 | KIP- | 212: Enforce set of legal characters for connector names352: Distinguish URPs caused by reassignment | 2.4.0 (WIP) | 1.1.0||||
76 | KIP- | 211: Revise Expiration Semantics of Consumer Group Offsets351: Add --under-min-isr option to describe topics command | 2. | 1.0 (WIP)3.0 | |||
77 | KIP- | 210 - Provide for custom error handling when Kafka Streams fails to produce346: Improve LogCleaner behavior on error | 2.1 | 1.1.0||||
78 | KIP- | 208: Add SSL support to Kafka Connect REST interface1.1.0 | |||||
79 | KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 2.0.0 (WIP) | |||||
345: Introduce static membership protocol to reduce consumer rebalances | 2.4.0 (WIP), partially available in 2.3.0 | ||||||
79 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication | 80 | KIP-206: Add support for UUID serialization and deserialization | 2.1.0 | |||
8180 | KIP-341: Update Sticky Assignor's User Data Protocol | 2.3.0 | |||||
81 | KIP-340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2 | 205: Add all() and range() API to ReadOnlyWindowStore1.1.0 | ||||
82 | KIP- | 204 : Adding records deletion operation to the new Admin Client API339: Create a new IncrementalAlterConfigs API | 2.3.0 | 1.1.0||||
83 | KIP- | 203: Add toLowerCase support to sasl.kerberos.principal.to.local rule338 Support to exclude the internal topics in kafka-topics.sh command | 2 | 1.1.0 | |||
84 | KIP- | 202: Move merge() from StreamsBuilder to KStream336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2. | 1.0 | .0|||
85 | KIP-198: Remove ZK dependency from Streams Reset Tool332: Update AclCommand to use AdminClient API | 2.11.0.0 | |||||
86 | KIP- | 197 Connect REST API should include the connector type when describing a connector331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde | 2.3 | 1.0.0 | |||
87 | KIP- | 196330: Add | metrics to Kafka Connect frameworkretentionPeriod in SessionBytesStoreSupplier | 2.1 | 1.0.0 | ||
88 | KIP- | 195: AdminClient.createPartitions328: Ability to suppress updates for KTables | 2. | 1.0 (partially implemented) / 2.3.0 (WIP) | |||
89 | KIP- | 192 : Provide cleaner semantics when idempotence is enabled324: Add method to get metrics() in AdminClient | 2.1 | 1.0.0 | |||
90 | KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern322: Return new error code for DeleteTopics API when topic deletion disabled. | 2.1.0.0 | |||||
91 | KIP- | 190: Handle client-ids consistently between clients and brokers321: Update TopologyDescription to better represent Source and Sink Nodes | 2.1 | 1.0.0 | |||
92 | KIP- | 189: Improve principal builder interface and add support for SASL320: Allow fetchers to detect and handle log truncation | 2.1.0 (partially implemented) / 2.2. | 1.0.0 | |||
93 | KIP- | 188 - Add new metrics to support health checks319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2. | 1.0 | .0|||
94 | KIP- | 187 - Add cumulative count metric for all Kafka rate metrics313: Add KStream.flatTransform and KStream.flatTransformValues | 2.2.0 (partially implemented) / 2.3 | 1.0.0 | |||
95 | KIP- | 186: Increase offsets retention default to 7 days312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2. | 01.0 | |||
96 | KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2.01.0 | |||||
97 | KIP- | 182: Reduce Streams DSL overloads and allow easier use of custom storage engines307: Allow to define custom processor names with KStreams DSL | 2.3.0 (partial) | 1.0.0||||
98 | KIP- | 180: Add a broker metric specifying the number of consumer group rebalances in progress306: Configuration for Delaying Response to Failed Authentication | 2 | 1.1.0 | |||
99 | KIP-177: Consumer perf tool should count rebalance time305: Add Connect primitive number converters | 21.0.0 | |||||
100 | KIP-176: Remove deprecated new-consumer option for tools303: Add Dynamic Routing in Streams Sink | 2.0.0 | |||||
101 | KIP- | 175: Additional '--describe' views for ConsumerGroupCommand302 - Enable Kafka clients to use all DNS resolved IP addresses | 2 | 1.1.0 | |||
102 | KIP- | 174 - Deprecate and remove internal converter configs in WorkerConfig300: Add Windowed KTable API in StreamsBuilder | 2. | 04.0 | |||
103 | KIP- | 173: Add prefix to StreamsConfig to enable setting default internal topic configs298: Error Handling in Connect | 2 | 1.0.0 | |||
104 | KIP- | 171 - Extend Consumer Group Reset Offset for Stream Application297: Externalizing Secrets for Connect Configurations | 2.0 | 1.1.0 | |||
105 | KIP- | 168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster295 Add Streams Configuration Allowing for Optional Topology Optimization | 2 | 1.0.0 | |||
106 | KIP | -167: Add interface for the state store restoration process-294 - Enable TLS hostname verification by default | 2 | 1.0.0 | |||
107 | 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics1 | Accepted | |||||
108 | KIP-292: Add transformValues() method to KTable | 2.0.0 | |||||
108109 | KIP-163: Lower the Minimum Required ACL Permission of OffsetFetch290: Support for Prefixed ACLs | 21.0.0 | |||||
109110 | KIP- | 162: Enable topic deletion by default289: Improve the default group id behavior in KafkaConsumer | 2.2 | 1.0.0 | |||
110111 | KIP-161: streams deserialization exception handlers285: Connect Rest Extension Plugin | 21.0.0 | |||||
111112 | KIP- | 160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE | 2 | 1.0.0 | |||
112113 | KIP-157 - Add consumer config options to streams reset tool283: Efficient Memory Usage for Down-Conversion | 21.0.0 | |||||
113114 | KIP-156 Add option "dry run" to Streams application reset tool282: Add the listener name to the authentication context | 20.11.0.0 | |||||
114115 | KIP-155 - Add range scan for windowed state stores281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User | 20.11.0.0 | |||||
115116 | KIP-154 Add Kafka Connect configuration properties for creating internal topics279: Fix log divergence between leader and follower after fast leader fail over | 20.11.0.0 | |||||
116117 | KIP- | 153: Include only client traffic in BytesOutPerSec metric278 - Add version option to Kafka's commands | 2. | 0.11.0.0 | |||
117118 | KIP- | 152 - Improve diagnostics for SASL authentication failures277 - Fine Grained ACL for CreateTopics API | 2 | 1.0.0 | |||
118119 | KIP-151 Expose Connector type in REST API276 - Add StreamsConfig prefix for different consumers | 20.11.0.0 | |||||
119120 | KIP-150 - 274: Kafka - Streams CogroupSkipped Records Metrics | 2.1.0 (WIP)0.0 | |||||
121120 | KIP- | 149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner272: Add API version tag to broker's RequestsPerSec metric | 2.0.0 | ||||
122 | KIP-270 - A Scala Wrapper Library for Kafka Streams | 2 | 1.1.0 (partially implemented) (WIP for 2.1.0) | 121 | KIP-146 - Classloading Isolation in Connect | 0.11.0.0 | |
122123 | KIP-145 - Expose Record Headers in Kafka Connect | 1.1.0 | |||||
123 | KIP-144: Exponential backoff for broker reconnect attempts | 0.11.0.0 | |||||
268: Simplify Kafka Streams Rebalance Metadata Upgrade | 2.0.0 | ||||||
124 | KIP-143: Controller Health Metrics267: Add Processor Unit Test Support to Kafka Streams Test Utils | 2.0.11.0.0 | |||||
125 | KIP- | 140: Add administrative RPCs for adding, deleting, and listing ACLs266: Fix consumer indefinite blocking behavior | 2. | 0.11.0.0 | |||
126 | KIP-138: Change punctuate semantics265: Make Windowed Serde to public APIs | 21.0.0 | |||||
127 | KIP-137: Enhance TopicCommand --describe to show topics marked for deletion261: Add Single Value Fetch in Window Stores | 20.11.0.0 | |||||
128 | KIP- | 136258: | Add Listener name to SelectorMetrics tags0.11.0.0Allow to Store Record Timestamps in RocksDB | 2.3.0 (partially implemented) | |||
129 | KIP-134: Delay initial consumer group rebalance257 - Configurable Quota Management | 2.0.11.0.0 | |||||
130 | KIP- | 133: Describe and Alter Configs Admin APIs255: OAuth Authentication via SASL/OAUTHBEARER | 2 | 0.11.0.0 | |||
131 | KIP- | 130: Expose states of active tasks to KafkaStreams public API251: Allow timestamp manipulation in Processor API | 2 | 1.0.0 | |||
132 | KIP-129: Streams Exactly-Once Semantics249: Add Delegation Token Operations to KafkaAdminClient | 20.11.0.0 | |||||
133 | KIP-128247: Add ByteArrayConverter public test utils for Kafka ConnectStreams | 1.1.0 | |||||
134 | KIP-245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 20.11.0.0 | |||||
134135 | KIP- | 126 - Allow KafkaProducer to split and resend oversized batches.244: Add Record Header support to Kafka Streams Processor API | 2 | 0.11.0.0 | |||
135136 | KIP-124 - Request rate quotas243: Make ProducerConfig and ConsumerConfig constructors public | 1.10.11.0.0 | |||||
136137 | KIP-123: Allow per stream/table timestamp extractor | 0.11.0.0 | 239 Add queryableStoreName() to GlobalKTable | 1.1.0 | |||
138137 | KIP-122: Add Reset Consumer Group Offsets tooling238: Expose Kafka cluster ID in Connect REST API | 1.10.11.0.0 | |||||
138139 | KIP-121: Add KStream peek method237: More Controller Health Metrics | 20.11.0.0 | 139|||||
140 | KIP- | 120: Cleanup Kafka Streams builder API235: Add DNS alias support for secured connection | 2.1.0 | 1.0.0 | 140 | KIP-119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.11.0.0|
141 | KIP-118: Drop Support for Java 7233: Simplify StreamsBuilder#addGlobalStore | 1.12.0.0 | |||||
142 | KIP- | 117: Add a public AdminClient API for Kafka admin operations231: Improve the Required ACL of ListGroups API | 2.1.0 | 0.11.0.0||||
143 | KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation229: DeleteGroups API | 1.1.00.11.0.0 | |||||
144 | KIP-114: KTable state stores and improved semantics-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.10.11.0.0 | |||||
145 | KIP-113: Support replicas movement between log directories-226 - Dynamic Broker Configuration | 1.1.0 | |||||
146 | KIP-112: Handle disk failure for JBOD-225 - Use tags for consumer “records.lag” metrics | 1.01.0 | |||||
147 | KIP-109: Old Consumer Deprecation224: Add configuration parameter `retries` to Streams API | 1.1.00.11.0.0 | |||||
148 | KIP-108: Create Topic Policy-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer | 2.0.0.10.2.0 | |||||
149 | KIP-222 - 107: Add deleteRecordsBefore() API in AdminClientAdd Consumer Group operations to Admin API | 20.11.0.0 | |||||
150 | KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP)106 - Change Default unclean.leader.election.enabled from True to False0.11.0.0 | |||||
151 | KIP-105: Addition of Record Level for Sensors220: Add AdminClient into Kafka Streams' ClientSupplier | 1.10.10.2.0 | |||||
152 | KIP-104: Granular Sensors for Streams -219 - Improve quota communication | 2.0.0.10.2.0 | |||||
153 | KIP-103: Separation of Internal and External traffic218: Make KafkaFuture.Function java 8 lambda compatible | 1.10.10.2.0 | |||||
154 | KIP-102 - Add close with timeout for consumers215: Add topic regex support for Connect sinks | 1.1.0.10.2.0 | |||||
155 | KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation214: Add zookeeper.max.in.flight.requests config to the broker | 1.1.00.11.0.0 | |||||
156 | KIP- | 100 - Relax Type constraints in Kafka Streams API213 Support non-key joining in KTable | 2.4.0 (WIP) | 0.10.2.0||||
157 | KIP-99: Add Global Tables to Kafka Streams212: Enforce set of legal characters for connector names | 1.10.10.2.0 | |||||
158 | KIP-98 - Exactly Once Delivery and Transactional Messaging211: Revise Expiration Semantics of Consumer Group Offsets | 2.10.11.0.0 | |||||
159 | KIP-97: Improved Kafka Client RPC Compatibility Policy-210 - Provide for custom error handling when Kafka Streams fails to produce | 1.1.0.10.2.0 | |||||
160 | KIP-96 - Add per partition metrics for in-sync and assigned replica count208: Add SSL support to Kafka Connect REST interface | 1.1.0.10.2.0 | |||||
161 | KIP-94 Session Windows207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 20.10.2.0 | |||||
162 | KIP- | 93: Improve invalid timestamp handling in Kafka Streams206: Add support for UUID serialization and deserialization | 2.1 | 0.10.2.0 | |||
163 | KIP-92 - Add per partition lag metrics to KafkaConsumer205: Add all() and range() API to ReadOnlyWindowStore | 1.1.0.10.2.0 | |||||
164 | KIP-91 Provide Intuitive User Timeouts in The Producer204 : Adding records deletion operation to the new Admin Client API | 12.1.0 | |||||
165 | KIP-90 - Remove zkClient dependency from Streams203: Add toLowerCase support to sasl.kerberos.principal.to.local rule | 1.10.10.2.0 | |||||
166 | KIP-89: Allow sink connectors to decouple flush and offset commit202: Move merge() from StreamsBuilder to KStream | 1.00.10.2.0 | |||||
167 | KIP-88: OffsetFetch Protocol Update198: Remove ZK dependency from Streams Reset Tool | 1.00.10.2.0 | |||||
168 | KIP-86: Configurable SASL callback handlers197 Connect REST API should include the connector type when describing a connector | 12.0.0 | |||||
169 | KIP-85: Dynamic JAAS configuration for Kafka clients196: Add metrics to Kafka Connect framework | 1.00.10.2.0 | |||||
170 | KIP-84: Support SASL SCRAM mechanisms195: AdminClient.createPartitions | 1.0.0.10.2.0 | |||||
171 | KIP-82 - Add Record Headers192 : Provide cleaner semantics when idempotence is enabled | 10.11.0.0 | |||||
172 | KIP-81: Bound Fetch memory usage in the consumer191: KafkaConsumer.subscribe() overload that takes just Pattern | 12.0.0 (WIP) | |||||
173 | KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer190: Handle client-ids consistently between clients and brokers | 1.0.0.10.1.0 | |||||
174 | KIP-78: Cluster Id189: Improve principal builder interface and add support for SASL | 1.0.0.10.1.0 | |||||
175 | KIP-77: Improve Kafka Streams Join Semantics-188 - Add new metrics to support health checks | 1.0.0.10.2.0 | |||||
176 | KIP-75 187 - Add per-connector Converterscumulative count metric for all Kafka rate metrics | 1.0.0.10.1.0 | |||||
177 | KIP-74: Add Fetch Response Size Limit in Bytes186: Increase offsets retention default to 7 days | 2.0.0.10.1.0 | |||||
178 | KIP-73: Replication Quotas-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 2.20.10.1.0 | |||||
179 | KIP-72: Allow putting a bound on memory consumed by Incoming request 182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.0.0 | |||||
180 | KIP-71: Enable log compaction and deletion to co-exist180: Add a broker metric specifying the number of consumer group rebalances in progress | 1.0.10.1.0 | |||||
181 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change177: Consumer perf tool should count rebalance time | 1.00.10.1.0 | |||||
182 | KIP- | 67: Queryable state for Kafka Streams176: Remove deprecated new-consumer option for tools | 2.0 | 0.10.1.0 | |||
183 | KIP-66: Single Message Transforms for Kafka Connect175: Additional '--describe' views for ConsumerGroupCommand | 1.10.10.2.0 / 0.11.0.0 | |||||
184 | KIP-65: Expose timestamps to Connect-174 - Deprecate and remove internal converter configs in WorkerConfig | 2.00.10.1.0 | |||||
185 | KIP-63: Unify store and downstream caching in streams173: Add prefix to StreamsConfig to enable setting default internal topic configs | 1.00.10.1.0 | |||||
186 | KIP-62: Allow consumer to send heartbeats from a background thread-171 - Extend Consumer Group Reset Offset for Stream Application | 10.10.1.0 | |||||
187 | KIP-60 - Make Java client classloading more flexible168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster | 1.0.0.10.1.0 | |||||
188 | KIP-58 - Make Log Compaction Point Configurable167: Add interface for the state store restoration process | 0.10.1.0.0 | |||||
189 | -57 - Interoperable LZ4 Framing -164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 10.10.0.0 | |||||
190 | 56: Allow cross origin HTTP requests on all HTTP methods | 1. | 0.10.0.0 | ||||
191 | KIP-55: Secure Quotas for Authenticated Users162: Enable topic deletion by default | 1.00.10.1.0 | |||||
192 | KIP-54: Sticky Partition Assignment Strategy161: streams deserialization exception handlers | 10.11.0.0 | |||||
193 | KIP-52: Connector Control APIs160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 10.10.0.0 | |||||
194 | KIP- | 51 - List Connectors REST API157 - Add consumer config options to streams reset tool | 1 | 0.10.0.0 | |||
195 | KIP- | 50 - Move Authorizer to o.a.k.common package156 Add option "dry run" to Streams application reset tool | 0. | 1011. | 10.0 | ||
196 | KIP- | 48 Delegation token support for Kafka155 - Add range scan for windowed state stores | 0.11.0 | 1.1.0 | |||
197 | KIP-45 - Standardize all client sequence interaction on j.u.Collection.154 Add Kafka Connect configuration properties for creating internal topics | 0.1011.0.0 | |||||
198 | KIP-43: Kafka SASL enhancements153: Include only client traffic in BytesOutPerSec metric | 0.1011.0.0 | |||||
199 | KIP-42: Add Producer and Consumer Interceptors-152 - Improve diagnostics for SASL authentication failures | 10.10.0.0 | |||||
200 | KIP-41: Consumer Max Records151 Expose Connector type in REST API | 0.1011.0.0 | |||||
201 | KIP-40: ListGroups and DescribeGroup-150 - Kafka-Streams Cogroup | 2.4.0 (WIP)0.9.0.0 | |||||
202 | KIP-38: ZooKeeper Authentication149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0)0.9.0.0 | |||||
203 | KIP-36 - Rack aware replica assignment146 - Classloading Isolation in Connect | 0. 1011.0.0 | |||||
204 | KIP-35 - Retrieving protocol version145 - Expose Record Headers in Kafka Connect | 1.10.10.0.0 | |||||
205 | KIP-33 - Add a time based log index144: Exponential backoff for broker reconnect attempts | 0.1011.10.0 | |||||
206 | KIP-32 - Add timestamps to Kafka message143: Controller Health Metrics | 0.1011.0.0 | |||||
207 | KIP-31 - Move to relative offsets in compressed message sets140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.1011.0.0 | |||||
208 | KIP-28 - Add a processor client138: Change punctuate semantics | 1.0.10.0.0 | |||||
209 | KIP-137: Enhance TopicCommand -26 - Add Kafka Connect framework for data import/export-describe to show topics marked for deletion | 0.911.0.0 | |||||
210 | KIP-25 - System test improvements136: Add Listener name to SelectorMetrics tags | 0.911.0.0 | |||||
211 | KIP-22 - Expose a Partitioner interface in the new producer134: Delay initial consumer group rebalance | 0.911.0.0 | |||||
212 | KIP-21 - Dynamic Configuration133: Describe and Alter Configs Admin APIs | 0.911.0.0 (WIP) | |||||
213 | KIP- | 20 Enable log preallocate to improve consume performance under windows and some old Linux file system130: Expose states of active tasks to KafkaStreams public API | 1 | 0.9.0.0 | |||
214 | KIP-19 - Add a request timeout to NetworkClient129: Streams Exactly-Once Semantics | 0.911.0.0 | |||||
215 | KIP-16 - Automated Replica Lag Tuning128: Add ByteArrayConverter for Kafka Connect | 0.911.0.0 | |||||
216 | KIP-15 - Add a close method with a timeout in the producer126 - Allow KafkaProducer to split and resend oversized batches. | 0.911.0.0 | |||||
217 | KIP-13 - Quota Design124 - Request rate quotas | 0.911.0.0 | |||||
218 | KIP-12 - Kafka Sasl/Kerberos and SSL implementation123: Allow per stream/table timestamp extractor | 0.911.0.0 | |||||
219 | KIP-11 - Kafka Authorizer design122: Add Reset Consumer Group Offsets tooling | 0.911.0.0 | |||||
220 | KIP-8 - Add a flush method to the producer API121: Add KStream peek method | 0. 911.0.0 | |||||
221 | KIP-4 - Metadata Protocol Changes120: Cleanup Kafka Streams builder API | 10.10.0.0 | |||||
222 | KIP-4 - Command line and centralized administrative operations119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.11.00.9.0.0, 0.10.0.0, 0.10.1.0 | |||||
223 | KIP-3 - Mirror Maker Enhancement118: Drop Support for Java 7 | 20.9.0.0 | |||||
224 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs117: Add a public AdminClient API for Kafka admin operations | 0.911.0.0 | |||||
225 | KIP-1 - Remove support of request.required.acks115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.911.0.0 |
...
...
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.
KIP | Comment |
---|
...
Discarded KIPs
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
...