This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • Release Plan 2.1.0 (Nov 2018)
Skip to end of metadata
Go to start of metadata

Release Dates

  • KIP Freeze: Sep 24, 2018 (a KIP must be accepted by this date in order to be considered for this release)
  • Feature Freeze: Oct 1, 2018 (major features merged & working on stabilization, minor features have PR, release branch cut; anything not in this state will be automatically moved to the next release in JIRA)
  • Code Freeze: Oct 15, 2018
  • Release: Nov 20, 2018


These dates are goals and subject to change, but we expect to stay on the Time Based Release Plan unless unexpected critical issues come up. While the target release date is fixed at ~2w after code freeze, RCs will roll out as needed until the release vote passes.

The release manager is Dong Lin.

Release Features

This is a list of key features/improvements/bugfixes that we can include with release notes:

  • Java 11 support
  • Support for Zstandard, which achieves compression comparable to gzip with higher compression and especially decompression speeds (KIP-110)
  • Avoid expiring committed offsets for active consumer group (KIP-211)
  • Provide Intuitive User Timeouts in The Producer (KIP-91)
  • Kafka's replication protocol now supports improved fencing of zombies. Previously, under certain rare conditions, if a broker became partitioned from Zookeeper but not the rest of the cluster, then the logs of replicated partitions could diverge and cause data loss in the worst case (KIP-320).

  • Streams API improvements (KIP-319, KIP-321, KIP-330, KIP-353, KIP-356)
  • Admin script and admin client API improvements to simplify admin operation (KIP-231, KIP-308, KIP-322, KIP-324, KIP-338, KIP-340)
  • DNS handling improvements (KIP-235, KIP-302)

How to Contribute

Before code freeze:

  • Participate in votes and discussions to land or postpone the open KIPs.
  • Review patches. We anticipate that this release will be bottlenecked mostly on reviews. The more reviewers, the more content we can fit in.
  • Write unit/integration/system tests. We want to preserve the tradition of high-quality releases in Apache Kafka. 

After code freeze:

  • Write more unit/integration/system testsWe want to preserve the tradition of high-quality releases in Apache Kafka.
  • Improve documentation
  • Test the release candidates
  • Open blocker JIRAs on critical issues found. Open non-blocker JIRAs on any other issues found.
  • Fix critical bugs
  • Review bug fixes
  • Vote on RCs. Even though only PMC votes are binding, community votes are super important as we evaluate the readiness of the release

Open Issues

Key Summary T Created Updated Due Assignee Reporter P Status Resolution
Loading...
Refresh

Also feel free to refer to this release page for more details of the included tickets.

Planned KIP Content

Note: The planned content is not binding - final content will be based the features committed by branch-cutting date. See Kafka Improvement Proposals for the full list of KIPs.

KIPJIRAComponentCommitter (reviewer)Comment

KIP-91 Provide Intuitive User Timeouts in The Producer

KAFKA-5886 - Getting issue details... STATUS

Clients
KIP-110: Add Codec for ZStandard Compression

KAFKA-4514 - Getting issue details... STATUS

Broker, Clients
KIP-206: Add support for UUID serialization and deserialization

KAFKA-4932 - Getting issue details... STATUS

Clients
KIP-211: Revise Expiration Semantics of Consumer Group Offsets

KAFKA-4682 - Getting issue details... STATUS

Broker, Clients
KIP-231: Improve the Required ACL of ListGroups API

KAFKA-5638 - Getting issue details... STATUS

Security
KIP-235: Add DNS alias support for secured connection

KAFKA-6195 - Getting issue details... STATUS

Clients
KIP-302 - Enable Kafka clients to use all DNS resolved IP addresses

KAFKA-6863 - Getting issue details... STATUS

Clients
KIP-306: Configuration for Delaying Response to Failed Client Authentication

KAFKA-6950 - Getting issue details... STATUS

Client
KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides configs

KAFKA-6751 - Getting issue details... STATUS

Broker
KIP-312: Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties

KAFKA-7027 - Getting issue details... STATUS

Streams
KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier

KAFKA-7080 - Getting issue details... STATUS

Streams
KIP-321: Update TopologyDescription to better represent Source and Sink Nodes

KAFKA-6966 - Getting issue details... STATUS

Streams
KIP-322: Return new error code for DeleteTopics API when topic deletion disabled

KAFKA-4690 - Getting issue details... STATUS

Tools
KIP-324: Add method to get metrics() in AdminClient

KAFKA-6986 - Getting issue details... STATUS

AdminClient
KIP-328: Ability to suppress updates for KTables

KAFKA-6556 - Getting issue details... STATUS

StreamsMatthias J. Saxpartially implemented in v2.1
KIP-330: Add retentionPeriod in SessionBytesStoreSupplier

KAFKA-7101 - Getting issue details... STATUS

Streams
KIP-332: Update AclCommand to use AdminClient API

KAFKA-7117 - Getting issue details... STATUS

Tools
KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer

KAFKA-6923 - Getting issue details... STATUS

Clients
KIP-338 Support to exclude the internal topics in kafka-topics.sh command

KAFKA-7139 - Getting issue details... STATUS

Tools
KIP-340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file

KAFKA-7147 - Getting issue details... STATUS

Tools
KIP-342: Add support for Custom SASL extensions in OAuthBearer authentication

KAFKA-7169 - Getting issue details... STATUS

Security
KIP-353: Improve Kafka Streams Timestamp Synchronization

KAFKA-3514 - Getting issue details... STATUS

Streams
KIP-356: Add withCachingDisabled() to StoreBuilder

KAFKA-6998 - Getting issue details... STATUS

StreamsMatthias J. Sax
KIP-357: Add support to list ACLs per principal

KAFKA-5690 - Getting issue details... STATUS

Tools
KIP-358: Migrate Streams API to Duration instead of long ms times

KAFKA-7277 - Getting issue details... STATUS KAFKA-7477 - Getting issue details... STATUS

Streams
KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde

KAFKA-7396 - Getting issue details... STATUS

Streams
KIP-366: Make FunctionConversions deprecated

KAFKA-7399 - Getting issue details... STATUS

Streams
KIP-372: Naming Repartition Topics for Joins and Grouping

KAFKA-7406 - Getting issue details... STATUS

Streams

 

Postponed to subsequent release

 

KIPJIRAComponentCommitterComment
KIP-81: Bound Fetch memory usage in the consumer

KAFKA-4133 - Getting issue details... STATUS

Clients
KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner

KAFKA-4218 - Getting issue details... STATUS

Streams
partially implemented in v1.1
KIP-150 - Kafka-Streams Cogroup

KAFKA-6049 - Getting issue details... STATUS

Streams

KIP-289: Improve the default group id behavior in KafkaConsumer

KAFKA-6774 - Getting issue details... STATUS

Clients

KIP-313: Add KStream.flatTransform and KStream.flatTransformValues

KAFKA-4217 - Getting issue details... STATUS

Streams
KIP-320: Allow fetchers to detect and handle log truncation

KAFKA-6880 - Getting issue details... STATUS

Broker,Clients
KIP-328: Ability to suppress updates for KTables

KAFKA-6556 - Getting issue details... STATUS

Streamspartially implemented in v2.1
KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde

KAFKA-6161 - Getting issue details... STATUS

Core, Streams

KIP-339: Create a new IncrementalAlterConfigs API

KAFKA-7466 - Getting issue details... STATUS

AminClient
KIP-341: Update Sticky Assignor's User Data Protocol

KAFKA-7026 - Getting issue details... STATUS

Clients
KIP-359: Verify leader epoch in produce requests

KAFKA-7383 - Getting issue details... STATUS

Broker,Clients

KIP-361: Add Consumer Configuration to Disable Auto Topic Creation

KAFKA-7320 - Getting issue details... STATUS

Clients

KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)

KAFKA-7391 - Getting issue details... STATUS

Clients,AdminClient

KIP-368: Allow SASL Connections to Periodically Re-Authenticate

KAFKA-7352 - Getting issue details... STATUS

Broker,Clients
  • No labels