THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Log in
Skip to sidebar
Skip to main content
Apache Software Foundation
Spaces
Hit enter to search
Help
Online Help
Keyboard Shortcuts
Feed Builder
What’s new
What’s new
Available Gadgets
About Confluence
Log in
Apache Kafka
Pages
Blog
Space shortcuts
Retrospectives
Child pages
Index
Kafka Improvement Proposals
drafts
KIP-1 - Remove support of request.required.acks
KIP-2 - Refactor brokers to allow listening on multiple ports and IPs
KIP-3 - Mirror Maker Enhancement
KIP-4 - Command line and centralized administrative operations
KIP-5 - Broker Configuration Management
KIP-6 - New reassignment partition logic for rebalancing
KIP-7 - Security - IP Filtering
KIP-8 - Add a flush method to the producer API
KIP-12 - Kafka Sasl/Kerberos and SSL implementation
KIP-13 - Quotas
KIP-14 - Tools Standardization
KIP-15 - Add a close method with a timeout in the producer
KIP-16 - Automated Replica Lag Tuning
KIP-17 - Add HighwaterMarkOffset to OffsetFetchResponse
KIP-18 - JBOD Support
KIP-19 - Add a request timeout to NetworkClient
KIP-20 - Enable log preallocate to improve consume performance under windows and some old Linux file system
KIP-21 - Dynamic Configuration
KIP-22 - Expose a Partitioner interface in the new producer
KIP-23 - Add JSON/CSV output and looping options to ConsumerGroupCommand
KIP-24 - Remove ISR information from TopicMetadataRequest and add broker level metadata request
KIP-25 - System test improvements
KIP-26 - Add Kafka Connect framework for data import/export
KIP-27 - Conditional Publish
KIP-28 - Add a processor client
KIP-29 - Add an IsrPropagateIntervalMs configuration to KafkaConfig
KIP-30 - Allow for brokers to have plug-able consensus and meta data storage sub systems
KIP-31 - Move to relative offsets in compressed message sets
KIP-32 - Add timestamps to Kafka message
KIP-33 - Add a time based log index
KIP-34 Add Partitioner Change Listener to Partitioner Interface for Multiple Use Case
KIP-35 - Retrieving protocol version
KIP-36 Rack aware replica assignment
KIP-37 - Add Namespaces to Kafka
KIP-38: ZooKeeper Authentication
KIP-39 Pinning controller to broker
KIP-40: ListGroups and DescribeGroup
KIP-41: KafkaConsumer Max Records
KIP-42: Add Producer and Consumer Interceptors
KIP-43: Kafka SASL enhancements
KIP-44 - Allow Kafka to have a customized security protocol
KIP-45 - Standardize all client sequence interaction on j.u.Collection.
KIP-46: Self Healing Kafka
KIP-47 - Add timestamp-based log deletion policy
KIP-48 Delegation token support for Kafka
KIP-49 - Fair Partition Assignment Strategy
KIP-50 - Move Authorizer to o.a.k.common package
KIP-51 - List Connectors REST API
KIP-52: Connector Control APIs
KIP-53 - Add custom policies for reconnect attempts to NetworkdClient
KIP-54 - Sticky Partition Assignment Strategy
KIP-55: Secure Quotas for Authenticated Users
KIP-56: Allow cross origin HTTP requests on all HTTP methods
KIP-57 - Interoperable LZ4 Framing
KIP-58 - Make Log Compaction Point Configurable
KIP-59: Proposal for a kafka broker command
KIP-60 - Make Java client classloading more flexible
KIP-61: Add a log retention parameter for maximum disk space usage percentage
KIP-62: Allow consumer to send heartbeats from a background thread
KIP-63: Unify store and downstream caching in streams
KIP-64 -Allow underlying distributed filesystem to take over replication depending on configuration
KIP-65: Expose timestamps to Connect
KIP-66: Single Message Transforms for Kafka Connect
KIP-67: Queryable state for Kafka Streams
KIP-68 Add a consumed log retention before log retention
KIP-69 - Kafka Schema Registry
KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change
KIP-71: Enable log compaction and deletion to co-exist
KIP-72: Allow putting a bound on memory consumed by Incoming requests
KIP-73 Replication Quotas
KIP-74: Add Fetch Response Size Limit in Bytes
KIP-75 - Add per-connector Converters
KIP-76 Enable getting password from executable rather than passing as plaintext in config files
KIP-77: Improve Kafka Streams Join Semantics
KIP-78: Cluster Id
KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer
KIP-80: Kafka Rest Server
KIP-81: Bound Fetch memory usage in the consumer
KIP-82 - Add Record Headers
KIP-83 - Allow multiple SASL authenticated Java clients in a single JVM process
KIP-84: Support SASL SCRAM mechanisms
KIP-85: Dynamic JAAS configuration for Kafka clients
KIP-86: Configurable SASL callback handlers
KIP-87 - Add Compaction Tombstone Flag
KIP-88: OffsetFetch Protocol Update
KIP-89: Allow sink connectors to decouple flush and offset commit
KIP-90 - Remove zkClient dependency from Streams
KIP-91 Provide Intuitive User Timeouts in The Producer
KIP-92 - Add per partition lag metrics to KafkaConsumer
KIP-93: Improve invalid timestamp handling in Kafka Streams
KIP-94 Session Windows
KIP-95: Incremental Batch Processing for Kafka Streams
KIP-96 - Add per partition metrics for in-sync and assigned replica count
KIP-97: Improved Kafka Client RPC Compatibility Policy
KIP-98 - Exactly Once Delivery and Transactional Messaging
KIP-99: Add Global Tables to Kafka Streams
KIP-100 - Relax Type constraints in Kafka Streams API
KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation
KIP-102 - Add close with timeout for consumers
KIP-103: Separation of Internal and External traffic
KIP-104: Granular Sensors for Streams
KIP-105: Addition of Recording Level for Sensors
KIP-106 - Change Default unclean.leader.election.enabled from True to False
KIP-107: Add deleteRecordsBefore() API in AdminClient
KIP-108: Create Topic Policy
KIP-109: Old Consumer Deprecation
KIP-110: Add Codec for ZStandard Compression
KIP-111: Kafka should preserve the Principal generated by the PrincipalBuilder while processing the request received on socket channel, on the broker.
KIP-112: Handle disk failure for JBOD
KIP-113: Support replicas movement between log directories
KIP-114: KTable state stores and improved semantics
KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation
KIP-116: Add State Store Checkpoint Interval Configuration
KIP-117: Add a public AdminClient API for Kafka admin operations
KIP-118: Drop Support for Java 7
KIP-119: Drop Support for Scala 2.10 in Kafka 0.11
KIP-120: Cleanup Kafka Streams builder API
KIP-121: Add KStream peek method
KIP-122: Add Reset Consumer Group Offsets tooling
KIP-123: Allow per stream/table timestamp extractor
KIP-124 - Request rate quotas
KIP-Template
KIP-125: ZookeeperConsumerConnector to KafkaConsumer Migration and Rollback
KIP-127: Pluggable JAAS LoginModule configuration for SSL
KIP-126 - Allow KafkaProducer to split and resend oversized batches.
KIP-128: Add ByteArrayConverter for Kafka Connect
KIP-129: Streams Exactly-Once Semantics
KIP 130: Expose states of active tasks to KafkaStreams public API
KIP-131 - Add access to OffsetStorageReader from SourceConnector
KIP-132: Augment KStream.print to allow extra parameters in the printed string
KIP-133: Describe and Alter Configs Admin APIs
KIP-134: Delay initial consumer group rebalance
KIP-135 : Send of null key to a compacted topic should throw non-retriable error back to user
KIP-136: Add Listener name to SelectorMetrics tags
KIP-137: Enhance TopicCommand --describe to show topics marked for deletion
KIP-138: Change punctuate semantics
KIP-139: Kafka TestKit library
KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs
KIP 141 - ProducerRecord & SourceRecord: Add timestamp constructors
KIP-142: Add ListTopicsRequest to efficiently list all the topics in a cluster
KIP-148: Add a connect timeout for client
KIP-143: Controller Health Metrics
KIP-144: Exponential backoff for broker reconnect attempts
KIP-146 - Classloading Isolation in Connect
KIP-145 - Expose Record Headers in Kafka Connect
KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods
KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner
KIP-150 - Kafka-Streams Cogroup
KIP-151 Expose Connector type in REST API
KIP-152 - Improve diagnostics for SASL authentication failures
KIP-153: Include only client traffic in BytesOutPerSec metric
KIP-154 Add Kafka Connect configuration properties for creating internal topics
KIP 155 - Add range scan for windowed state stores
KIP 156 Add option "dry run" to Streams application reset tool
KIP 157 - Add consumer config options to streams reset tool
KIP-158: Kafka Connect should allow source connectors to set topic-specific settings for new topics
KIP-159: Introducing Rich functions to Streams
KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string
KIP-161: streams deserialization exception handlers
KIP-162 - Enable topic deletion by default
KIP-163: Lower the Minimum Required ACL Permission of OffsetFetch
KIP-164- Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics
KIP-165: Extend Interactive Queries for return latest update timestamp per key
KIP-166 - Add a tool to make amounts of replicas and leaders on brokers balanced
KIP-167: Add interface for the state store restoration process
KIP-168: Add GlobalTopicCount and GlobalPartitionCount metrics per cluster
KIP-169 - Lag-Aware Partition Assignment Strategy
KIP-170: Enhanced TopicCreatePolicy and introduction of TopicDeletePolicy
KIP-171 - Extend Consumer Group Reset Offset for Stream Application
KIP 172: Add regular-expression topic support for sink connector
KIP-173: Add prefix to StreamsConfig to enable setting default internal topic configs
KIP-174 - Deprecate and remove internal converter configs in WorkerConfig
KIP-175: Additional '--describe' views for ConsumerGroupCommand
KIP-176: Remove deprecated new-consumer option for tools
KIP-178: Size-based log directory selection strategy
Old KIP-179 - Change ReassignPartitionsCommand to use AdminClient
KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress
KIP-181: DescribeGroups Protocol Enhancement
KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines
KIP-179 - Change ReassignPartitionsCommand to use AdminClient
KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient
KIP-184: Rename LogCleaner and related classes to LogCompactor
KIP-185: Make exactly once in order delivery per partition the default producer setting
KIP-186: Increase offsets retention default to 7 days
KIP-177: Consumer perf tool should count rebalance time
KIP-187 - Add cumulative count metric for all Kafka rate metrics
KIP-188 - Add new metrics to support health checks
KIP-189: Improve principal builder interface and add support for SASL
KIP-190: Handle client-ids consistently between clients and brokers
KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern
KIP-192 : Provide cleaner semantics when idempotence is enabled
KIP-193: Add SchemaBuilder.from(Schema)
KIP-195: AdminClient.createPartitions
KIP-196: Add metrics to Kafka Connect framework
KIP-197 Connect REST API should include the connector type when describing a connector
KIP-198: Remove ZK dependency from Streams Reset Tool
KIP-199: Add Kafka Connect offset tool
KIP-201: Rationalising Policy interfaces
KIP-202 Move merge() from StreamsBuilder to KStream
KIP-203: Add toLowerCase support to sasl.kerberos.principal.to.local rule
KIP-204 : Adding records deletion operation to the new Admin Client API
KIP-205: Add all() and range() API to ReadOnlyWindowStore
KIP-206: Add support for UUID serialization and deserialization
KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change
KIP-208: Add SSL support to Kafka Connect REST interface
KIP-209 - Connection String Support
KIP-210 - Provide for custom error handling when Kafka Streams fails to produce
KIP-211: Revise Expiration Semantics of Consumer Group Offsets
KIP-212: Enforce set of legal characters for connector names
KIP-213 Support non-key joining in KTable
KIP-214: Add zookeeper.max.in.flight.requests config to the broker
KIP-215: Add topic regex support for Connect sinks
KIP-216: IQ should throw different exceptions for different errors
KIP-217: Expose a timeout to allow an expired ZK session to be re-created
KIP-218: Make KafkaFuture.Function java 8 lambda compatible
KIP-219 - Improve quota communication
KIP-220: Add AdminClient into Kafka Streams' ClientSupplier
KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint
KIP-222 - Add Consumer Group operations to Admin API
KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer
KIP-224: Add configuration parameter `retries` to Streams API
KIP-225 - Use tags for consumer “records.lag” metrics
KIP-226 - Dynamic Broker Configuration
KIP-227: Introduce Incremental FetchRequests to Increase Partition Scalability
KIP-228 Negative record timestamp support
KIP-229: DeleteGroups API
KIP 230: Name Windowing Joins
KIP-231: Improve the Required ACL of ListGroups API
KIP-232: Detect outdated metadata using leaderEpoch and partitionEpoch
KIP-233: Simplify StreamsBuilder#addGlobalStore
KIP-234: add support for getting topic defaults from AdminClient
KIP-235: Add DNS alias support for secured connection
KIP-236: Interruptible Partition Reassignment
KIP-237: More Controller Health Metrics
KIP-238: Expose Kafka cluster ID in Connect REST API
KIP-239 Add queryableStoreName() to GlobalKTable
KIP-240: AdminClient.listReassignments AdminClient.describeReassignments
KIP-241 KTable repartition with compacted Topics
KIP-242: Mask password in Kafka Connect Rest API response
KIP-243: Make ProducerConfig and ConsumerConfig constructors public
KIP-244: Add Record Header support to Kafka Streams Processor API
KIP-245: Use Properties instead of StreamsConfig in KafkaStreams constructor
KIP-260: add primary join operation for Stream-Stream join (WIP)
KIP-246: Connect producers and consumers should inherit worker configs
KIP-247: Add public test utils for Kafka Streams
KIP-248 - Create New ConfigCommand That Uses The New AdminClient
KIP-249: Add Delegation Token Operations to KafkaAdminClient
KIP-250 Add Support for Quorum-based Producer Acknowledgment
KIP-251: Allow timestamp manipulation in Processor API
KIP-252 - Extend ACLs to allow filtering based on ip ranges and subnets
KIP-253: Support in-order message delivery with partition expansion
KIP-254: JsonConverter Exception Handeling
KIP-255 OAuth Authentication via SASL/OAUTHBEARER
KIP-256: Add RocksDB statistics via Streams metrics
KIP-257 - Configurable Quota Management
KIP-258: Allow to Store Record Timestamps in RocksDB
KIP-259: Improve Streams DSL Timestamp Propagation Semantics
KIP-261: Add Single Value Fetch in Window Stores
KIP-262: Metadata should include number of state stores for task
KIP-263: Allow broker to skip sanity check of inactive segments on broker startup
KIP-264: Add a consumer metric to record raw fetch size
KIP-265: Make Windowed Serde to public APIs
KIP-266: Fix consumer indefinite blocking behavior
KIP-267: Add Processor Unit Test Support to Kafka Streams Test Utils
KIP-268: Simplify Kafka Streams Rebalance Metadata Upgrade
KIP 269 Substitution Within Configuration Values
KIP-270 - A Scala Wrapper Library for Kafka Streams
KIP-271: Add NetworkClient redirector
KIP-272: Add API version tag to broker's RequestsPerSec metric
KIP-273 - Kafka to support using ETCD beside Zookeeper
KIP-274: Kafka Streams Skipped Records Metrics
KIP-275 - Indicate "isClosing" in the SinkTaskContext
KIP-276 Add StreamsConfig prefix for different consumers
KIP-277 - Fine Grained ACL for CreateTopics API
KIP-278 - Add version option to Kafka's commands
KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User
KIP-279: Fix log divergence between leader and follower after fast leader fail over
KIP-280: Enhanced log compaction
KIP-282: Add the listener name to the authentication context
KIP-283: Efficient Memory Usage for Down-Conversion
KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE
KIP-285: Connect Rest Extension Plugin
KIP-286: producer.send() should not block on metadata update
KIP-287: Support partition and processor expansion for stateful processing jobs
KIP-288: [DISCARDED] Consumer.poll() timeout semantic change and new waitForAssignment method
KIP-289: Improve the default group id behavior in KafkaConsumer
KIP-290: Support for Prefixed ACLs
KIP-292: Add transformValues() method to KTable
KIP-293 Add new metrics for consumer/replication fetch requests
KIP-291: Separating controller connections and requests from the data plane
KIP-294 - Enable TLS hostname verification by default
KIP-295: Add Streams Configuration Allowing for Optional Topology Optimization
KIP-296: Connector level configurability for client configs
KIP-NEXT: Get rid of unnecessary read lock
KIP-297: Externalizing Secrets for Connect Configurations
KIP-DRAFT: Error Handling in Connect
KIP-298: Error Handling in Connect
KIP-300: Add Windowed KTable API in StreamsBuilder
KIP-301: Schema Inferencing for JsonConverter
KIP-302 - Enable Kafka clients to use all DNS resolved IP addresses
KIP-303: Add Dynamic Routing in Streams Sink
KIP-304: Connect runtime mode improvements for container platforms
KIP-305: Add Connect primitive number converters
KIP-306: Configuration for Delaying Response to Failed Client Authentication
KIP-307: Allow to define custom processor names with KStreams DSL
KIP-635: GetOffsetShell: support for multiple topics and consumer configuration override
KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides configs
KIP-309: Add toUpperCase support to sasl.kerberos.principal.to.local rule
KIP-310: Add a Kafka Source Connector to Kafka Connect
KIP-311: Async processing with dynamic scheduling in Kafka Streams
KIP-313: Add KStream.flatTransform and KStream.flatTransformValues
KIP-312: Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties
KIP-314: KTable to GlobalKTable Bi-directional Join
KIP-316: Command-line overrides for ConnectDistributed worker properties
KIP-317: Add end-to-end data encryption functionality to Apache Kafka
KIP-318: Make Kafka Connect Source idempotent
KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier
KIP-315: Stream Join Sticky Assignor
KIP-320: Allow fetchers to detect and handle log truncation
KIP-321: Update TopologyDescription to better represent Source and Sink Nodes
KIP-322: Return new error code for DeleteTopics API when topic deletion disabled.
KIP-326: Schedulable KTable as Graph source
KIP-324: Add method to get metrics() in AdminClient
KIP-327: Add describe all topics API to AdminClient
KIP-325: Extend Consumer Group Command to Show Beginning Offsets
KIP-328: Ability to suppress updates for KTables
KIP-330: Add retentionPeriod in SessionBytesStoreSupplier
KIP-332: Update AclCommand to use AdminClient API
KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde
KIP-333: Add faster mode of rebalancing
KIP-334 - Include partitions in exceptions raised during consumer record deserialization/validation
KIP-335: Consider configurations for KafkaStreams
KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer
KIP-338 Support to exclude the internal topics in kafka-topics.sh command
KIP-339: Create a new IncrementalAlterConfigs API
KIP-340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file
KIP-341: Update Sticky Assignor's User Data Protocol
KIP-342: Add support for Custom SASL extensions in OAuthBearer authentication
KIP-343: Add a Controller Heartbeat Mechanism
KIP-344: The auto-generated client id should be passed to MetricsReporter
KIP-345: Introduce static membership protocol to reduce consumer rebalances
KIP-346 - Improve LogCleaner behavior on error
KIP-347: Enable batching in FindCoordinatorRequest
KIP-348 Deprecate null from SourceTask#poll()
KIP-349: Priorities for Source Topics
KIP-350: Allow kafka-topics.sh to take brokerid as parameter to show partitions associated with it
KIP-351: Add --under-min-isr option to describe topics command
KIP-352: Distinguish URPs caused by reassignment
KIP-353: Improve Kafka Streams Timestamp Synchronization
KIP-354: Add a Maximum Log Compaction Lag
KIP-356: Add withCachingDisabled() to StoreBuilder
KIP-356: Add KafkaConsumer fetch-error-rate and fetch-error-total metrics
KIP-357: Add support to list ACLs per principal
KIP-358: Migrate Streams API to Duration instead of long ms times
KIP-359: Verify leader epoch in produce requests
KIP-360: Improve reliability of idempotent/transactional producer
KIP-361: Add Consumer Configuration to Disable Auto Topic Creation
KIP-362: Support dynamic gap session window
KIP-363: Allow performance tools to print final results to output file
KIP-366: Make FunctionConversions deprecated
KIP-364: Remove implicit Materialized, Consumed and Produced
KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde
KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)
KIP-368: Allow SASL Connections to Periodically Re-Authenticate
KIP-369: Alternative Partitioner to Support "Always Round-Robin" Selection
KIP-370: Remove Orphan Partitions
KIP-371: Add a configuration to build custom SSL principal name
KIP-354: Time-based log compaction policy
KIP-372: Naming Repartition Topics for Joins and Grouping
KIP-373: Allow users to create delegation tokens for other users
KIP-374: Add '--help' option to all available Kafka CLI commands
KIP-375: Kafka Clients - make Metadata#TOPIC_EXPIRY_MS configurable
KIP-376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement
KIP-377: TopicCommand to use AdminClient
KIP-378: Enable Dependency Injection for Kafka Streams handlers
KIP-379: Multiple Consumer Group Management
KIP-380: Detect outdated control requests and bounced brokers using broker generation
KIP-381: Connect: Tell about records that had their offsets flushed in callback
KIP-382: MirrorMaker 2.0
KIP-383: Pluggable interface for SSL Factory
KIP-384: Add config for incompatible changes to persistent metadata
KIP-385: Avoid throwing away prefetched data
KIP-386: Standardize on Min/Avg/Max metrics' default value
KIP-387: Fair Message Consumption Across Partitions in KafkaConsumer
KIP-388: Add observer interface to record request and response
KIP-389: Introduce a configurable consumer group size limit
KIP-390: Support Compression Level
KIP-391: Allow Producing with Offsets for Cluster Replication [Discarded]
KIP-392: Allow consumers to fetch from closest replica
KIP-393: Time windowed serde to properly deserialize changelog input topic
KIP-394: Require member.id for initial join group request
KIP-395: Encypt-then-MAC Delegation token metadata
KIP-396: Add Reset/List Offsets Operations to AdminClient
KIP-397: Add methods to override fetch offsets based on timestamp
KIP-398: Support reading trust store from classpath
KIP-399: Extend ProductionExceptionHandler to cover serialization exceptions
KIP-400: Improve exit status in case of errors in ConsoleProducer
KIP-401: TransformerSupplier/ProcessorSupplier StateStore connecting
KIP-402: Improve fairness in SocketServer processors
KIP-403: Increase ProducerPerformance precision by using nanoTime
KIP-404: Add Kafka Connect configuration parameter for disabling WADL output on OPTIONS request
KIP-405: Kafka Tiered Storage
KIP-406: GlobalStreamThread should honor custom reset policy
KIP-407: Kafka Connect support override worker kafka api configuration with connector configuration that post by rest api
KIP-NEXT: Add support of quota configuration in the KafkaAdminClient
KIP-408: Add Asynchronous Processing To Kafka Streams
KIP-409: Allow creating under-replicated topics and partitions
KIP-410: Add metric for request handler thread pool utilization by request type
KIP-411: Make default Kafka Connect worker task client IDs distinct
KIP-412: Extend Admin API to support dynamic application log levels
KIP-414: Expose Embedded ClientIds in Kafka Streams
KIP-416: Notify SourceTask of ACK'd offsets, metadata
KIP-415: Incremental Cooperative Rebalancing in Kafka Connect
KIP-417: Allow JmxTool to connect to a secured RMI port
KIP-418: A method-chaining way to branch KStream
KIP-419: Safely notify Kafka Connect SourceTask is stopped
KIP-420: Add Single Value Fetch in Session Stores
KIP-706: Add method "Producer#send" to return CompletionStage instead of Future
KIP-531: Drop support for Scala 2.11 in Kafka 2.5
KIP-421: Automatically resolve external configurations.
KIP-422: Add support for client quota configuration in the Kafka Admin Client
KIP-423: Add JoinReason to Consumer Join Group Protocol
KIP-424: Allow suppression of intermediate events based on wall clock time
KIP-425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers
KIP-426: Persist Broker Id to Zookeeper
KIP-427: Add AtMinIsr topic partition category (new metric & TopicCommand option)
KIP-428: Add in-memory window store
KIP-429: Kafka Consumer Incremental Rebalance Protocol
KIP-430 - Return Authorized Operations in Describe Responses
KIP-431: Support of printing additional ConsumerRecord fields in DefaultMessageFormatter
KIP-432: Additional Broker-Side Opt-In for Default, Unsecure SASL/OAUTHBEARER Implementation
KIP-433: Block old clients on brokers
KIP-434: Add Replica Fetcher and Log Cleaner Count Metrics
KIP-435: Internal Partition Reassignment Batching
KIP-436: Add a metric indicating start time
KIP-437: Custom replacement for MaskField SMT
KIP-438: Expose task, connector IDs in Connect API
KIP-439: Cleanup built-in Store interfaces
KIP-440: Extend Connect Converter to support headers
KIP-441: Smooth Scaling Out for Kafka Streams
KIP-446: Add changelog topic configuration to KTable suppress
KIP-442: Return to default max poll interval in Streams
KIP-443: Return to default segment.ms and segment.index.bytes in Streams repartition topics
KIP-444: Augment metrics for Kafka Streams
KIP-445: In-memory Session Store
KIP-447: Producer scalability for exactly once semantics
KIP-448: Add State Stores Unit Test Support to Kafka Streams Test Utils
KIP-449: Add connector contexts to Connect worker logs
KIP-450: Sliding Window Aggregations in the DSL
KIP-451: Make TopologyTestDriver output iterable
KIP-452: Tool to view cluster status
KIP-454: Expansion of the ConnectClusterState interface
KIP-455: Create an Administrative API for Replica Reassignment
KIP-456: Helper classes to make it simpler to write test logic with TopologyTestDriver
KIP-457: Add DISCONNECTED status to Kafka Streams
KIP-458: Connector Client Config Override Policy
KIP-459: Improve KafkaStreams#close
KIP-460: Admin Leader Election RPC
KIP-462: Use local thread id for KStreams
KIP-463: Auto-configure non-default Serdes passed alongside the TopologyBuilder
KIP-461 - Improve Replica Fetcher behavior at handling partition failure
KIP-464: Defaults for AdminClient#createTopic
KIP-465: Add Consolidated Connector Endpoint to Connect REST API
KIP-453: Add close() method to RocksDBConfigSetter
KIP-466: Add support for List<T> serialization and deserialization
KIP-467: Augment ProduceResponse error messaging for specific culprit records
KIP-468: Avoid decompression of record when validate record at server in the scene of inPlaceAssignment .
KIP-469: Pre-registration support for static members
KIP-470: TopologyTestDriver test input and output usability improvements
KIP-471: Expose RocksDB Metrics in Kafka Streams
KIP-472: [STREAMS] Add partition time field to RecordContext
KIP-473: Enable KafkaLog4JAppender to use SASL Authentication Callback Handlers
KIP-474: To deprecate WindowStore#put(key, value)
KIP-475: New Metrics to Measure Number of Tasks on a Connector
KIP-476: Add Java AdminClient Interface
KIP-477: Add PATCH method for connector config in Connect REST API
KIP-478 - Strongly typed Processor API
KIP-479: Add StreamJoined config object to Join
KIP-480: Sticky Partitioner
KIP-481: SerDe Improvements for Connect Decimal type in JSON
KIP-483: Add Broker Version API in Admin Client
KIP-484: Expose metrics for group and transaction metadata loading duration
KIP-497: Add inter-broker API to alter ISR
KIP-482: The Kafka Protocol should Support Optional Tagged Fields
KIP-485: Make topic optional when using through() operations in DSL
KIP-486: Support custom way to load KeyStore and TrustStore
KIP-487: Client-side Automatic Topic Creation on Producer
KIP-488: Clean up Sum,Count,Total Metrics
489: Kafka Consumer Record Latency Metric
KIP-490: New metric to count offsets expired without being consumed by a consumer group
KIP-491: Preferred Leader Deprioritized List (Temporary Blacklist)
KIP-492: Add java security providers in Kafka Security config
KIP-494: Connect REST Endpoint to get Transformations (SMTs)
KIP-495: Dynamically Adjust Log Levels in Connect
KIP-496: Administrative API to delete consumer offsets
KIP-498: Add client-side configuration for maximum response size to protect against OOM
KIP-500: Replace ZooKeeper with a Self-Managed Metadata Quorum
KIP-501 Avoid out-of-sync or offline partitions when follower fetch requests are not processed in time
KIP-499 - Unify connection name flag for command line tool
KIP-502: Connect Task Method Signature to be More Specific for Developers
KIP-503: Add metric for number of topics marked for deletion
KIP-504 - Add new Java Authorizer Interface
KIP-505: Add new public method to only update assignment metadata in consumer
KIP-506: Allow setting SCRAM password via Admin interface
KIP-507: Securing Internal Connect REST Endpoints
KIP-508: Make Suppression State Queriable
KIP-509: Rebalance and restart Producers
KIP-510: Metrics library upgrade
KIP-511: Collect and Expose Client's Name and Version in the Brokers
KIP-512:Adding headers to RecordMetaData
KIP-513: Distinguish between Key and Value serdes in scala wrapper library for kafka streams
KIP-532: Broker Consumer Lag metrics in size and time
KIP-514: Add a bounded flush() API to Kafka Producer
KIP-515: Enable ZK client to use the new TLS supported authentication
KIP-534: Retain tombstones and transaction markers for approximately delete.retention.ms milliseconds
KIP-516: Topic Identifiers
KIP-517: Add consumer metrics to observe user poll behavior
KIP-518: Allow listing consumer groups per state
KIP-519: Make SSL context/engine configuration extensible
KIP-520: Add overloaded Consumer#committed for batching partitions
KIP-521: Enable redirection of Connect's log4j messages to a file by default
KIP-522: Update BrokerApiVersionsCommand to use AdminClient
KIP-523: Add KStream#toTable to the Streams DSL
KIP-524: Allow users to choose config source when describing configs
KIP-525 - Return topic metadata and configs in CreateTopics response
KIP-526: Reduce Producer Metadata Lookups for Large Number of Topics
KIP-527: Add VoidSerde to Serdes
KIP-528: Deprecate PartitionGrouper configuration and interface
KIP-530: Consider renaming 'UsePreviousTimeOnInvalidTimeStamp' class to 'UsePartitionTimeOnInvalidTimeStamp'
KIP-533: Add default api timeout to AdminClient
KIP-X: Introduce a cooperative consumer processing semantic
KIP-535: Allow state stores to serve stale reads during rebalance
KIP-536: Propagate broker start time to Admin API
KIP-537: Increase default zookeeper session timeout
KIP-538: Add a metric tracking the number of open connections with a given SSL cipher type
KIP-539: Implement mechanism to flush out records in low traffic suppression buffers
KIP-540: Implement per key stream time tracking
KIP-541: Create a fetch.max.bytes configuration for the broker
KIP-542: Partition Reassignment Throttling
KIP-543: Expand ConfigCommand's non-ZK functionality
KIP-545: support automated consumer offset sync across clusters in MM 2.0
KIP-XX: Decouple Kafka Streams Scalability from Physical partition
KIP-544: Make metrics exposed via JMX configurable
KIP-546: Add Client Quota APIs to the Admin Client
KIP-547: Extend ConsumerInterceptor to allow modification of Consumer Commits
KIP-548 Add Option to enforce rack-aware custom partition reassignment execution
KIP-549: Surface Consumer's Metadata in KafkaAdminClient#describeConsumerGroups
KIP-565: Using AclCommand,avoid call the global method loadcache in SimpleAclAuthorizer
KIP-550: Mechanism to Delete Stray Partitions on Broker
KIP-551: Expose disk read and write metrics
KIP-553: Disable all SSL protocols except TLSV1.2 by default.
KIP-555: Deprecate Direct Zookeeper access in Kafka Administrative Tools
KIP-557: Add emit on change support for Kafka Streams
KIP-558: Track the set of actively used topics by connectors in Kafka Connect
KIP-559: Make the Kafka Protocol Friendlier with L7 Proxies
KIP-560: Auto infer external topic partitions in stream reset tool
KIP-561: Regex Support for ConsumerGroupCommand
KIP-562: Allow fetching a key from a single partition rather than iterating over all the stores on an instance
KIP-564: Add new cached authorizer:change the dim of cache
KIP-563: Add 'tail -n' feature for ConsoleConsumer
KIP-566: Add rebalance callbacks to ConsumerInterceptor
KIP-567: Kafka Cluster Audit
KIP-568: Support RPC message type 'double'
KIP-DRAFT: Handle errors for data inside put method of a sink connector
KIP-568: Explicit rebalance triggering on the Consumer
KIP-569: DescribeConfigsResponse - Update the schema to include additional metadata information of the field
KIP-570: Add leader epoch in StopReplicaRequest
KIP-571: Add option to force remove members in StreamsResetter
KIP-572: Improve timeouts and retries in Kafka Streams
KIP-573: Enable TLSv1.3 by default
KIP-574: CLI Dynamic Configuration with file input
KIP-575: build a Kafka-Exporter by Java
KIP-576: Support dynamic update of more broker configs related to replication
KIP 577: Allow HTTP Response Headers to be Configured for Kafka Connect
KIP-578: Add configuration to limit number of partitions
KIP-579: new exception on min.insync.replicas > replication.factor
KIP-580: Exponential Backoff for Kafka Clients
KIP-581: Value of optional null field which has default value
KIP-582: Add a "continue" option for Kafka Connect error handling
KIP-583: add tag "partition" to BrokerTopicMetrics so as to observe the partition metrics on the same broker
KIP-584: Versioning scheme for features
KIP-585: Filter and Conditional SMTs
KIP-586: Deprecate commit records without record metadata
KIP-587: Suppress detailed responses for handled exceptions in security-sensitive environments
KIP-588: Allow producers to recover gracefully from transaction timeouts
KIP-590: Redirect Zookeeper Mutation Protocols to The Controller
KIP-589 Add API to update Replica state in Controller
KIP-591: Add Kafka Streams config to set default state store
KIP-592: MirrorMaker 1.0 should replicate topics from earliest
KIP-593: Enable --if-exists and --if-not-exists for AdminClient in TopicCommand
KIP-596: Safely abort Producer transactions during application shutdown
KIP-594: Expose output topic names from TopologyTestDriver
KIP-595: A Raft Protocol for the Metadata Quorum
KIP-597: MirrorMaker2 internal topics Formatters
KIP-598: Augment TopologyDescription with store and source / sink serde information
KIP-599: Throttle Create Topic, Create Partition and Delete Topic Operations
KIP-601: Configurable socket connection timeout in NetworkClient
KIP-602: Change default value for client.dns.lookup
KIP-603: Change `ConfigEntry` value to use optional fields
KIP-605: Expand Connect Worker Internal Topic Settings
KIP-554: Add Broker-side SCRAM Config API
KIP-604: Remove ZooKeeper Flags from the Administrative Tools
KIP-606: Add Metadata Context to MetricsReporter
KIP-608 - Expose Kafka Metrics in Authorizer
KIP-609: Use Pre-registration and Blocking Calls for Better Transaction Efficiency
KIP-607: Add Metrics to Kafka Streams to Report Properties of RocksDB
KIP-610: Error Reporting in Sink Connectors
KIP-611: Improved Handling of Abandoned Connectors and Tasks
KIP-612: Ability to Limit Connection Creation Rate on Brokers
KIP-614: Add Prefix Scan support for State Stores
KIP-613: Add end-to-end latency metrics to Streams
KIP-615: add ConstrainedCooperativeStickyAssignor
KIP-616: Rename implicit Serdes instances in kafka-streams-scala
KIP-617: Allow Kafka Streams State Stores to be iterated backwards
KIP-618: Exactly-Once Support for Source Connectors
KIP-620 Deprecate ConsumerConfig#addDeserializerToConfig and ProducerConfig#addSerializerToConfig
KIP-619: Add internal topic creation support
KIP-621: Deprecate and replace DescribeLogDirsResult.all() and .values()
KIP-622: Add currentSystemTimeMs and currentStreamTimeMs to ProcessorContext
KIP-623: Add "internal-topics" option to streams application reset tool
KIP-624: Consolidate Offset Validation into Fetch Protocol
KIP-625: Richer encodings for integral-typed protocol fields
KIP-626: Rename StreamsConfig config variable name
KIP-627: Expose Trogdor-specific JMX Metrics for Tasks and Agents
KIP-628: ConsumerPerformance's multi-thread implementation
KIP-629: Use racially neutral terms in our codebase
KIP-630: Kafka Raft Snapshot
KIP-631: The Quorum-based Kafka Controller
KIP-634: Complementary support for headers and record metadata in Kafka Streams DSL
KIP-636: Make RPC error codes and messages tagged fields
KIP-637: Include min.insync.replicas in MetadataResponse to make Producer smarter in partitioning events
KIP-638: Deprecate DescribeLogDirsResponse.[LogDirInfo, ReplicaInfo]
KIP-639: Move nodeLevelSensor and storeLevelSensor methods from StreamsMetricsImpl to StreamsMetrics
KIP-640: Add log compression analysis tool
KIP-641 An new java interface to replace 'kafka.common.MessageReader'
KIP-642: Dynamic quorum reassignment
KIP-644: Support sources which can't give out changed data in kafka connect
KIP-645: Replace Windows with a proper interface
KIP-646 Serializer API should support ByteBuffer
KIP-647: Add ability to handle late messages in streams-aggregation
KIP-648: Renaming getter method for Interactive Queries
KIP-649: Dynamic Client Configuration
KIP-650: Enhance Kafkaesque Raft semantics
KIP-656: MirrorMaker2 Exactly-once Semantics
KIP-651 - Support PEM format for SSL certificates and private key
KIP-653: Upgrade log4j to log4j2
KIP-654: Aborted transaction with non-flushed data should throw a non-fatal exception
KIP-632: Add DirectoryConfigProvider
KIP-655: Windowed Distinct Operation for Kafka Streams API
KIP-657: Add Customized Kafka Streams Logo
[DISCARD] KIP-658 Deprecate all setters of Headers
KIP-659: Improve TimeWindowedDeserializer and TimeWindowedSerde to handle window size
KIP-660: Pluggable ReplicaPlacer
KIP-661: Expose task configurations in Connect REST API
KIP-662: Throw Exception when Source Topics of a Streams App are Deleted
KIP-663: API to Start and Shut Down Stream Threads
KIP-664: Provide tooling to detect and abort hanging transactions
KIP-665: Kafka Connect Hash SMT
KIP-666: Add Instant-based methods to ReadOnlySessionStore
KIP-667: Remove deprecated methods from ReadOnlyWindowStore
KIP-668: Expose REST endpoint to list converter plugins
KIP-669: Preserve Source Partition in Kafka Streams from context
KIP-670: Add ConsumerGroupCommand to delete static members
KIP-671: Introduce Kafka Streams Specific Uncaught Exception Handler
KIP-672: Introduce Kafka Streams Specific Uncaught Exception Handler
KIP-673: Emit JSONs with new auto-generated schema
KIP-674: Metric Reporter to Aggregate Metrics in Kafka Streams
KIP-675: Convert KTable to a KStream using the previous value
KIP-676: Respect logging hierarchy
KIP-677: migrating Topology methods to the Builder pattern (WIP)
KIP-679: Producer will enable the strongest delivery guarantee by default
KIP-678: New Kafka Connect SMT for plainText => Struct(or Map) with Regex
KIP-680: TopologyTestDriver should not require a Properties argument
KIP-681: Rename master key in delegation token feature
KIP-682: Connect TimestampConverter support for multiple fields and multiple input formats
KIP-683: Add recursive support to Connect Cast and ReplaceField transforms, and support for casting complex types to either a native or JSON string
KIP-684 - Support mutual TLS authentication on SASL_SSL listeners
KIP-685: Loosen permission for listing reassignments
KIP-686: API to ensure Records policy on the broker
KIP-695: Further Improve Kafka Streams Timestamp Synchronization
KIP-691: Enhance Transactional Producer Exception Handling
KIP-687: Automatic Reloading of Security Store
KIP-NEXT: Support dynamic update of delete.topic.enable config
KIP-688: Support dynamic update of delete.topic.enable config
KIP-698: Add Explicit User Initialization of Broker-side State to Kafka Streams
KIP-689: Extend `StreamJoined` to allow more store configs
KIP-690: Add additional configuration to control MirrorMaker 2 internal topics naming convention
KIP-xxx: Cache the UpdateMetadata requests in controller
KIP-694: Support Reducing Partitions for Topics
KIP-692: Make AdminClient value object constructors public
KIP-693: Client-side Circuit Breaker for Partition Write Errors
KIP-X: Native TopK support in Kafka Streams
KIP-696: Update Streams FSM to clarify ERROR state meaning
KIP-697: Stricter parsing of addresses in configs
KIP-699: Update FindCoordinator to resolve multiple Coordinators at a time
KIP-700: Add Describe Cluster API
KIP-701: Add--override option to bin/connect-distributed.sh
KIP-702: The control plane needs to force the validation of requests from the controller
KIP-703: Add a metrics for reporting idle connections closed
KIP-704: Send a hint to the partition leader to recover the partition
KIP-705: Selectively Disable Topology Optimizations
KIP-707: The future of KafkaFuture
KIP-708: Rack aware StandbyTask assignment for Kafka Streams
KIP-709: Extend OffsetFetch requests to accept multiple group ids.
KIP-710: Full support for distributed mode in dedicated MirrorMaker 2.0 clusters
KIP-711 Deprecate org.apache.kafka.streams.errors.BrokerNotFoundException
KIP-712: Shallow Mirroring
KIP-713: Validation of Enums in configuration
KIP-714: Client metrics and observability
KIP-715: Expose Committed offset in streams
KIP-716: Allow configuring the location of the offset-syncs topic with MirrorMaker2
KIP-717: Deprecate batch-size config from console producer
KIP-718: Make KTable Join on Foreign key unopinionated
KIP-719: Deprecate Log4J Appender
KIP-720: Deprecate MirrorMaker v1
KIP-721: Enable connector log contexts in Connect Log4j configuration
KIP-722: Enable connector client overrides by default
KIP-723: Add socket.tcp.no.delay property to Kafka Config
KIP-724: Drop support for message formats v0 and v1
KIP-725: Streamlining configurations for WindowedSerializer and WindowedDeserializer.
KIP-726: Make the "cooperative-sticky, range" as the default assignor
KIP-727: Add --under-preferred-replica-partitions option to describe topics command
KIP-633: Deprecate 24-hour Default Grace Period for Windowed Operations in Streams
KIP-728: Introduce the RESTORING state to the KafkaStreams state machine
KIP-729: Custom validation of records on the broker prior to log append
KIP-730: Producer ID generation in KRaft mode
KIP-731: Record Rate Limiting for Kafka Connect
KIP-732: Deprecate eos-alpha and replace eos-beta with eos-v2
KIP-733: change Kafka Streams default replication factor config
KIP-734: Improve AdminClient.listOffsets to return timestamp and offset for the record with the largest timestamp
KIP-735: Increase default consumer session timeout
KIP-736: Report the true end to end fetch latency
KIP-738: Removal of Connect's internal converter properties
KIP-737: Add canTrackSource to ReplicationPolicy
KIP-739: Block Less on KafkaProducer#send
KIP-740: Clean up public API in TaskId
KIP-741: Change default serde to be null
KIP-743: Remove config value 0.10.0-2.4 of Streams built-in metrics version config
KIP-744: Migrate TaskMetadata and ThreadMetadata to an interface with internal implementation
KIP-751: Drop support for Scala 2.12 in Kafka 4.0 (deprecate in 3.0)
KIP-750: Drop support for Java 8 in Kafka 4.0 (deprecate in 3.0)
KIP-746: Revise KRaft Metadata Records
KIP-745: Connect API to restart connector and tasks
KIP-748: Add Broker Count Metrics
KIP-749: Add --files and --file-separator options to the ConsoleProducer
KIP-752: Support --bootstrap-server in ReplicaVerificationTool
KIP-753: ACL authentication, Host field support IP network segment
KIP-754: Make Scala case class's final
KIP-755: Add new AUTO_CREATE ACL for auto topic creation
KIP-756: Move StreamsResetter tool outside of core
KIP-757: Topic metadata
KIP-758: Remove list of latest producer append information for broker
KIP-759: Unneeded repartition canceling
KIP-760: Minimum value for segment.ms and segment.bytes
KIP-761: Add Total Blocked Time Metric to Streams
KIP-762: Delete Committed Connect Records
KIP-763: Range queries with open endpoints
KIP-764: Configurable backlog size for creating Acceptor
KIP-765: Introduce new SlidingWindow type for [start,end] time
KIP-766: fetch/findSessions queries with open endpoints for SessionStore/WindowStore
KIP-767: Connect Latency Metrics
KIP-768: Extend SASL/OAUTHBEARER with Support for OIDC
KIP-769: Connect APIs to list all connector plugins and retrieve their configuration definitions
KIP-770: Replace "buffered.records.per.partition" & "cache.max.bytes.buffering" with "{statestore.cache}/{input.buffer}.max.bytes"
KIP-772: Encrypt KRaft Metadata Secrets at Rest
KIP-773: Differentiate consistently metric latency measured in millis and nanos
KIP-774: Deprecate public access to Admin client's *Result constructors
KIP-775: Custom partitioners in foreign key joins
KIP-776: Add Consumer#peek for debugging/tuning
KIP-777: Improved testability for Admin client
KIP-778: KRaft to KRaft Upgrades
KIP-779: Allow Source Tasks to Handle Producer Exceptions
KIP-780: Support fine-grained compression options
KIP-781: Improve MirrorMaker2's client configuration
KIP-782: Expandable batch size in producer
KIP-783: Add TaskId field to StreamsException
KIP-784: Add top-level error code field to DescribeLogDirsResponse
KIP-785: Automatic storage formatting
KIP-786: Emit Metric Client Quota Values
KIP-789: Use localhost:9092 as default bootstrap-server/broker-list in client tools
KIP-787: MM2 manage Kafka resources with custom Admin implementation.
KIP-788: Allow configuring num.network.threads per listener
KIP-796: Interactive Query v2
KIP-791: Add Record Metadata to State Store Context
KIP-792: Add "generation" field into consumer protocol
KIP-793: Allow sink connectors to be used with topic-mutating SMTs
KIP-794: Strictly Uniform Sticky Partitioner
KIP-795: Add public APIs for AbstractCoordinator
KIP-797: Accept duplicate listener on port for IPv4/IPv6
KIP-798: Add possibility to write kafka headers in Kafka Console Producer
KIP-799: Align behaviour for producer callbacks with documented behaviour
KIP-800: Add reason to JoinGroupRequest and LeaveGroupRequest
KIP-801: Implement an Authorizer that stores metadata in __cluster_metadata
KIP-802: Validation Support for Kafka Connect SMT and Converter Options
KIP-803: Add Task ID and Connector Name to Connect Task Context
KIP-804: OfflinePartitionsCount Tagged by Topic
KIP-805: Add range and scan query over kv-store in IQv2
KIP-806: Add session and window query over kv-store in IQv2
KIP-807: Refactor KafkaStreams exposed metadata hierarchy
KIP-808: Add support for different unix precisions in TimestampConverter SMT
KIP-809: Support live upgrades with dynamic addition/removal of modular topologies
KIP-810: Allow producing records with null values in Kafka Console Producer
KIP-NEXT: Add lowest acknowledged offset to BrokerHeartbeatResponse
KIP-811: Add config repartition.purge.interval.ms to Kafka Streams
KIP-812: Introduce another form of the `KafkaStreams.close()` API that forces the member to leave the consumer group
KIP-815: Support max-timestamp in GetOffsetShell
KIP-813: Shareable State Stores
KIP-814: Static membership protocol should let the leader skip assignment
KIP-816: Topology changes without local state reset
KIP-817: Fix inconsistency in dynamic application log levels
KIP-818: Introduce cache-size-bytes-total Task Level Metric
KIP-819: Merge multiple KStreams in one operation
KIP-820: Extend KStream process with new Processor API
KIP-821: Connect Transforms support for nested structures
KIP-822: Optimize the semantics of KafkaConsumer#pause to be consistent between the two RebalanceProtocols
KIP-823: Update Admin::describeConfigs to allow fetching specific configurations
KIP-824: Allowing dumping segmentlogs limiting the batches in the output
KIP-825: introduce a new API to control when aggregated results are produced
KIP-826: Define platforms supported
KIP-827: Expose log dirs total and usable space via Kafka API
KIP-828: Add the corresponding validator to the configuration where the validator is missing
KIP-829: (console-consumer) add print.topic property
KIP-830: Allow disabling JMX Reporter
KIP-831: Add metric for log recovery progress
KIP-832: Allow creating a producer/consumer using a producer/consumer config
KIP-833: Mark KRaft as Production Ready
KIP-834: Pause / Resume KafkaStreams Topologies
KIP-835: Monitor KRaft Controller Quorum Health
KIP-837: Allow MultiCasting a Result Record.
KIP-836: Expose replication information of the cluster metadata
[DRAFT] KIP-821: Connect Transforms support for nested structures (JsonPath-based draft)
KIP-841: Fenced replicas should not be allowed to join the ISR in KRaft
KIP-839: Provide builders for KafkaProducer/KafkaConsumer and KafkaStreams
KIP-840: Config file option for MessageReader/MessageFormatter in ConsoleProducer/ConsoleConsumer
KIP-842: Add richer group offset reset mechanisms
KIP-843: Adding addMetricIfAbsent method to Metrics
KIP-844: Transactional State Stores
KIP-845: 'HasField' predicate for kafka connect
KIP-846: Source/sink node metrics for Consumed/Produced throughput in Streams
KIP-848: The Next Generation of the Consumer Rebalance Protocol
KIP-847: Add ProducerIdCount metrics
KIP-849: Expose logdirs total and usable space via kafka-log-dirs.sh
KIP-850: REST API for filtering Connector plugins by type
KIP-851: Add requireStable flag into ListConsumerGroupOffsetsOptions
KIP-852: Optimize calculation of size for log in remote tier
KIP-853: KRaft Controller Membership Changes
KIP-854 Separate configuration for producer ID expiry
KIP-855: Add schema.namespace parameter to SetSchemaMetadata SMT in Kafka Connect
KIP-857: Streaming recursion in Kafka Streams
KIP-856: KRaft Disk Failure Recovery
KIP-858: Handle JBOD broker disk failure in KRaft
KIP-NEXT: Insert Title Here
KIP-859: Add Metadata Log Processing Error Related Metrics
KIP-860: Add client-provided option to guard against replication factor change during partition reassignments
KIP-862: Self-join optimization for stream-stream joins
KIP-861: Add BytesIn/BytesOut per listener metrics
KIP-863: Reduce CompletedFetch#parseRecord() memory copy
KIP-864: Add End-To-End Latency Metrics to Connectors
KIP-865: Support --bootstrap-server in kafka-streams-application-reset
KIP-868 Metadata Transactions
KIP-866 ZooKeeper to KRaft Migration
KIP-869: Improve Streams State Restoration Visibility
KIP-870: Retention policy based on record event time
KIP-871: Fix ByteBufferSerializer#serialize(String, ByteBuffer) compatible problem
KIP-872: Add Serializer#serializeToByteBuffer() to reduce memory copying
KIP-873: ExceptionHandlingDeserializer, RetryDeserializer, PipeSerializer, PipeDeserializer
KIP-874: TopicRoundRobinAssignor
KIP-875: First-class offsets support in Kafka Connect
KIP-877: Mechanism for plugins and connectors to register metrics
KIP-876: Time based cluster metadata snapshots
KIP-878: Internal Topic Autoscaling for Kafka Streams
KIP-879: Multi-level Rack Awareness
KIP-880: X509 SAN based SPIFFE URI ACL within mTLS Client Certificates
KIP-881: Rack-aware Partition Assignment for Kafka Consumers
KIP-882: Kafka Connect REST API configuration validation timeout improvements
KIP-883: Add isDeleted flag when stopping a connector
KIP-884: Add config to configure KafkaClientSupplier in Kafka Streams
KIP-885: Expose Broker's Name and Version to Clients
KIP-886: Add Client Producer and Consumer Builders
KIP-887: Add ConfigProvider to make use of environment variables
KIP-888: Batch describe ACLs and describe client quotas
KIP-889: Versioned State Stores
KIP-890: Transactions Server-Side Defense
KIP-891: Running multiple versions of a connector
KIP-892: Transactional Semantics for StateStores
KIP-893: The Kafka protocol should support nullable structs
KIP-894: Use incrementalAlterConfigs API for syncing topic configurations
KIP-896: Remove old client protocol API versions in Kafka 4.0
KIP-895: Dynamically refresh partition count of __consumer_offsets
KIP-897: Publish a single kafka (aka core) Maven artifact in Apache Kafka 4.0
KIP-898: Modernize Connect plugin discovery
KIP-899: Allow producer and consumer clients to rebootstrap
KIP-900: KRaft kafka-storage.sh API additions to support SCRAM for Kafka Brokers
KIP-901: Add connectorDeleted flag when stopping tasks
KIP-902: Upgrade Zookeeper to 3.8.2
KIP-903: Replicas with stale broker epoch should not be allowed to join the ISR
KIP-904: Kafka Streams - Guarantee subtractor is called before adder if key has not changed
KIP-905: Broker interceptors
KIP-906: Tools migration guidelines
KIP-907: Add Boolean Serde to public interface
KIP-908: Add description field to connector configuration
KIP-909: DNS Resolution Failure Should Not Fail the Clients
KIP-911: Add source tag to MirrorSourceConnector metrics
KIP-912: Support decreasing send's max block time without worrying about metadata's fetch
KIP-913: add new method to provide possibility for accelerate first record's sending
KIP-914: DSL Processor Semantics for Versioned Stores
KIP-915: Txn and Group Coordinator Downgrade Foundation
KIP-910: Update Source offsets for Source Connectors without producing records
KIP-916: MM2 distributed mode flow log context
KIP-917: Additional custom metadata for remote log segment
KIP-918: MM2 Topic And Group Listener
KIP-919: Allow AdminClient to Talk Directly with the KRaft Controller Quorum and add Controller Registration
KIP-920: Support upgrading KRaft MetadataVersion based on a static config
KIP-921: OpenJDK CRaC support
KIP-922: Add the traffic metric of the partition dimension
KIP-923: Add A Grace Period to Stream Table Join
KIP-925: Rack aware task assignment in Kafka Streams
KIP-926: introducing acks=min.insync.replicas config
KIP-927: Improve the kafka-metadata-quorum output
KIP-928: Making Kafka resilient to log directories becoming full
KIP-929 : Observer Replicas
KIP-930: Rename ambiguous Tiered Storage Metrics
KIP-931: Flag to ignore unused message attribute field
KIP-932: Queues for Kafka
KIP-934: Add DeleteTopicPolicy
KIP-935: Extend AlterConfigPolicy with existing configurations
KIP-933: Publish metrics when source connector fails to poll data
KIP-936: Throttle number of active PIDs
KIP-937: Improve Message Timestamp Validation
KIP-938: Add more metrics for measuring KRaft performance
KIP-939: Support Participation in 2PC
KIP-940: Broker extension point for validating record contents at produce time
KIP-941: Range queries to accept null lower and upper bounds
KIP-942: Add Power(ppc64le) support
KIP-944: Support async runtimes in consumer
KIP-943: Add independent “offset.storage.segment.bytes” for connect-distributed.properties
KIP-945: Update threading model for Consumer
KIP-946: Modify exceptions thrown by Consumer APIs
KIP-947: Add support for consumer group protocol in Consumer
KIP-948: Allow custom prefix for internal topic names in Kafka Streams
KIP-949: Add flag to enable the usage of topic separator in MM2 DefaultReplicationPolicy
KIP-950: Tiered Storage Disablement
KIP-951: Leader discovery optimisations for the client
KIP-952: Regenerate segment-aligned producer snapshots when upgrading to a Kafka version supporting Tiered Storage
KIP-953: partition method to be overloaded to accept headers as well.
KIP-954: expand default DSL store configuration to custom types
KIP-924: customizable task assignment for Streams
KIP-955: Add stream-table join on foreign key
KIP-956 Tiered Storage Quotas
KIP-957: Support Async runtimes
KIP-958: Tiered Storage Metrics
KIP-959: Add BooleanConverter to Kafka Connect
KIP-960: Support single-key_single-timestamp interactive queries (IQv2) for versioned state stores
KIP-962: Relax non-null key requirement in Kafka Streams
KIP-963: Additional metrics in Tiered Storage
KIP-964: Have visibility when produce requests become "async"
KIP-965: Support disaster recovery between clusters by MirrorMaker
KIP-966: Eligible Leader Replicas
KIP-967: Support custom SSL configuration for Kafka Connect RestServer
KIP-969: Support range interactive queries (IQv2) for versioned state stores
KIP-968: Support single-key_multi-timestamp interactive queries (IQv2) for versioned state stores
KIP-970: Deprecate and remove Connect's redundant task configurations endpoint
KIP-971: Expose replication-record-lag MirrorMaker2 metric
KIP-972: Add the metric of the current running version of kafka
KIP-973: Expose per topic replication rate metrics
KIP-974: Docker Image for GraalVM based Native Kafka Broker
KIP-975: Docker Image for Apache Kafka
KIP-976: Cluster-wide dynamic log adjustment for Kafka Connect
KIP-977: Partition-Level Throughput Metrics
KIP-978: Allow dynamic reloading of certificates with different DN / SANs
KIP-979: Allow independently stop KRaft processes
KIP-980: Allow creating connectors in a stopped state
KIP-982: Access SslPrincipalMapper and kerberosShortNamer in Custom KafkaPrincipalBuilder
KIP-981: Manage Connect topics with custom implementation of Admin
KIP-983: Full speed async processing during rebalance
KIP-984: Add pluggable compression interface to Kafka
KIP-985: Add reverseRange and reverseAll query over kv-store in IQv2
KIP-986: Cross-Cluster Replication
KIP-988: Streams Standby Update Listener
KIP-989: RocksDB Iterator Metrics
KIP-995: Allow users to specify initial offsets while creating connectors
KIP-987: Connect Static Assignments
KIP-990: Capability to PAUSE Tasks on DeserializationException
KIP-996: Pre-Vote
KIP-991: Allow DropHeaders SMT to drop headers by wildcard/regexp
KIP-992: Proposal to introduce IQv2 Query Types: TimestampedKeyQuery and TimestampedRangeQuery
KIP-994: Minor Enhancements to ListTransactions and DescribeTransactions APIs
KIP-993: Allow restricting files accessed by File and Directory ConfigProviders
KIP-997: update WindowRangeQuery and unify WindowKeyQuery and WindowRangeQuery
KIP-998: Give ProducerConfig(props, doLog) constructor protected access
KIP-999: Server-side Consumer Lag Metrics
KIP-1000: List Client Metrics Configuration Resources
KIP-1001: Add CurrentControllerId Metric
KIP-1002: Fetch remote segment indexes at once
KIP-1003: Signal next segment when remote fetching
KIP-1004: Enforce tasks.max property in Kafka Connect
KIP-1005: Expose EarliestLocalOffset and TieredOffset
KIP-1006: Remove SecurityManager Support
KIP-1007: Introduce Remote Storage Not Ready Exception
KIP-1009: Add Broker-level Throttle Configurations
KIP-1008: ParKa - the Marriage of Parquet and Kafka
KIP-1010: Topic Partition Quota
KIP-1011: Use incrementalAlterConfigs when updating broker configs by kafka-configs.sh
KIP-1012: The need for a Kafka 3.8.x release
KIP-1013: Drop broker and tools support for Java 11 in Kafka 4.0 (deprecate in 3.7)
KIP-1014: Managing Unstable Metadata Versions in Apache Kafka
KIP-1015: Limit number of ssl connections in brokers
KIP-1016 Make MM2 heartbeats topic name configurable
KIP-1017: Health check endpoint for Kafka Connect
KIP-1018: Introduce max remote fetch timeout config for DelayedRemoteFetch requests
KIP-1019: Expose method to determine Metric Measurability
KIP-1020: Deprecate `window.size.ms` in `StreamsConfig`
1,010 more child pages
Browse pages
Configure
Space tools
View Page
A
t
tachments (0)
Page History
Page Information
View in Hierarchy
View Source
Delete comments
Export to PDF
Export to Word
Copy Page Tree
Pages
Index
Kafka Improvement Proposals
Attachments
There are currently no attachments on this page.
Overview
Content Tools
Apps
{"serverDuration": 205, "requestCorrelationId": "d5db6d32c481bb42"}