This page is for KIPs that were intentionally dropped or discarded before being finished. These are generally not meant to be revived and were abandoned for a specific reason, such as being superseded by/merged into another KIP, unable to be implemented without violating compatibility or other API guarantees, or rejected for technical reasons.

These KIPs were generally rejected for good reason and most likely don't make sense to revive, but if you believe something in this list is worth picking up again and would like to take it up yourself, please reach out to the original author and ask them whether you can pick up their KIP. If they don't respond within a few days you are welcome to assign the Jira ticket to yourself and restart the discussion, though we recommend you first read over the original discussion thread to understand why it was rejected. If you believe these reasons no longer apply then you should articulate this when you revive the KIP.

For KIPs that were abandoned or suspended but not outright rejected or discarded, see the Dormant/inactive KIPs subpage

Please insert new rows in sorted order (ascending by KIP number).

KIPComment
KIP-5 - Broker Configuration ManagementSuperseded by KIP-21
KIP-7 - Security - IP Filtering
KIP-9 - SSL SupportAdopted via KAFKA-1690 but not via this KIP process
KIP-18 - JBOD SupportSuperseded by KIP-112 and KIP-113 
KIP-24 - Remove ISR information from TopicMetadataRequest and add broker level metadata request
KIP-29 - Add an IsrPropagateIntervalMs configuration to KafkaConfigNo longer need after KAFKA-2722

KIP-34 Add Partitioner Change Listener to Partitioner Interface for Multiple Use Case

Per feedback it is better do this parition() method and avoid Thread Coordination etc.
KIP-50 - Move Authorizer to o.a.k.common packageSuperseded by KIP-504
KIP-80: Kafka Rest Server
KIP-83 - Allow multiple SASL authenticated Java clients in a single JVM processAfter KIP-85, no interface changes, reduced to KAFKA-4180
KIP-111: Kafka should preserve the Principal generated by the PrincipalBuilder while processing the request received on socket channel, on the broker.Covered by KIP-189
KIP-116: Add State Store Checkpoint Interval ConfigurationCurrently not needed as checkpointing can be done on commit interval.
KIP-127: Pluggable JAAS LoginModule configuration for SSLSimilar functionality can be implemented using a custom PrincipalBuilder.
KIP-132: Augment KStream.print to allow extra parameters in the printed string

Duplicated by KIP-160

KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methodsCovered by KIP-182
KIP-165: Extend Interactive Queries for return latest update timestamp per keyCovered by KIP-258
KIP-170: Enhanced TopicCreatePolicy and introduction of TopicDeletePolicySuperseded by KIP-201: Rationalising Policy interfaces
KIP 172: Add regular-expression topic support for sink connectorSuperseded by KIP-215: Add topic regex support for Connect sinks
KIP-179: Change ReassignPartitionsCommand to use AdminClient
KIP-184: Rename LogCleaner and related classes to LogCompactorA lot of configuration change will cause more trouble and doesn't seems to be worth it
KIP-199: Add Kafka Connect offset toolSuperseded by KIP-875: First-class offsets support in Kafka Connect
KIP 230: Name Windowing JoinsCovered by KIP-372: Naming Repartition Topics for Joins and Grouping
KIP-232: Detect outdated metadata using per-partition leaderEpoch fieldMerged into KIP-320: Allow fetchers to detect and handle log truncation
KIP-246: Connect producers and consumers should inherit worker configsWithdrawn because proposal could not be made backward compatible with existing behavior
KIP-248 - Create New ConfigCommand That Uses The New AdminClientDiscarded by author as it's partly covered in KIP-339 and KIP-422
KIP-259: Improve Streams DSL Timestamp Propagation SemanticsChange did not require a KIP.
KIP-262: Metadata should include number of state stores for taskRejected since metadata is no longer required.
KIP-263: Allow broker to skip sanity check of inactive segments on broker startupWithdrawn because the solution we agreed on does not require interface change
KIP-275 - Indicate "isClosing" in the SinkTaskContext
KIP-286: producer.send() should not block on metadata updateWithdrawn because the benefit of not having to wait for metadata is probably not worth the complexity added in producer.
KIP-288: [DISCARDED] Consumer.poll() timeout semantic change and new waitForAssignment methodDiscarded in deference to KIP-266
KIP-310: Add a Kafka Source Connector to Kafka ConnectWithdrawn in favor of KIP-382.
KIP-327: Add describe all topics API to AdminClientWithdrawn in-favor of filter support in Metadata API and KIP-142
KIP-344: The auto-generated client id should be passed to MetricsReporterBug fix so KIP not needed
KIP-347: Enable batching in FindCoordinatorRequestReplaced by KIP-699
KIP-364: Remove implicit Materialized, Consumed and ProducedSubsumed by KIP-365
KIP-383:  Pluggable interface for SSL FactoryReplaced by KIP-519
KIP-391: Allow Producing with Offsets for Cluster ReplicationNot enough interest in favour.
KIP-398: Support reading trust store from classpath

Not enough interest in favour. Can be implemented with mechanism in  KAFKA-8191 - Getting issue details... STATUS

KIP-404: Add Kafka Connect configuration parameter for disabling WADL output on OPTIONS request

Discarded, reported as a bug by KAFKA-7759 - Getting issue details... STATUS

KIP-432: Additional Broker-Side Opt-In for Default, Unsecure SASL/OAUTHBEARER Implementation

A "security sanity check tool" is a more generic and appropriate solution.
KIP-451: Make TopologyTestDriver output iterable

Discarded in favor of KIP-456

KIP-456: Helper classes to make it simpler to write test logic with TopologyTestDriverDiscarded in favor of KIP-470
KIP-472: Add header to RecordContext/ProducerRecordDiscarded due to change being far more complex than necessary for a simple bug
KIP-485: Make topic optional when using through() operations in DSLMoved to KIP-221
KIP-486: Support custom way to load KeyStore and TrustStoreDiscarded in favor of KIP-519
KIP-522: Update BrokerApiVersionsCommand to use AdminClientDiscarded as this KIP is likely to be misused
KIP-593: Enable --if-exists and --if-not-exists for AdminClient in TopicCommandSuperseded by KIP-604
KIP-615: add ConstrainedCooperativeStickyAssignorDiscarded in favor of modifying existing assignor
KIP-638: Deprecate DescribeLogDirsResponse.[LogDirInfo, ReplicaInfo]

Duplication of KIP-621

KIP-660: Pluggable ReplicaPlacer


KIP-667: Remove deprecated methods from ReadOnlyWindowStoreNo KIP needed
KIP-672: Introduce Kafka Streams Specific Uncaught Exception Handler

Combined with KIP-671

[DISCARD] KIP-658 Deprecate all setters of Headers
KIP-818: Introduce cache-size-bytes-total Task Level MetricDecided to add the new metric in KIP-770.
KIP-717: Deprecate batch-size config from console producerChange did not require a KIP
KIP-752: Support --bootstrap-server in ReplicaVerificationToolReplaced by KIP-1067
KIP-756: Move StreamsResetter tool outside of coreSubsumed by KIP-906

KIP-795: Add public APIs for AbstractCoordinator

Discarded in favor of KIP-848
KIP-832: Allow creating a producer/consumer using a producer/consumer configSuperseded by KIP-839
KIP-844: Transactional State StoresDiscarded in favor of KIP-892
KIP-845: 'HasField' predicate for kafka connectDiscarded in favor of improving existing SMTs
KIP 850: REST API for filtering Connector plugins by typeDiscarded as JIRA was obsolete
KIP-856: KRaft Disk Failure RecoveryDiscarded in favor of KIP-853: KRaft Controller Membership Changes
KIP-871: Fix ByteBufferSerializer#serialize(String, ByteBuffer) compatible problemDiscard as it doesn't change any public API.
KIP-874: TopicRoundRobinAssignorDiscard as it is too specific.
KIP-897: Publish a single kafka (aka core) Maven artifact in Apache Kafka 4.0Taking a different approach.
KIP-908: Add description field to connector configurationDiscarded as the benefits are too limited
KIP-947: Add support for consumer group protocol in ConsumerChange did not require a KIP
KIP-944: Support async runtimes in consumer and KIP-957: Support Async runtimesWithdrawn because the committers do not seem to be convinced that you cannot control on what thread code runs with an async runtime
KIP-990: Capability to PAUSE Tasks on DeserializationExceptionRejected during the discussion, due to technical concerns.
KIP-1007: Introduce Remote Storage Not Ready Exception

Discarded as the change is not compatible with the consumer.

KIP-1060: Expose advertised.listeners for KRaft controllers

This is implemented as part of KIP-853: KRaft Controller Membership Changes

  • No labels