Child pages
  • Release Plan 1.0.0 (2017 Oct.)
Skip to end of metadata
Go to start of metadata

We will bump this release version  to 1.0.0, and also starting in this release we will have a slight difference in the version numbers such that:

  1. We will use three digits instead of four for the release versions:
  2. The first digit would indicate the major revision (starting at 1), and second indicating minor revision, and the last one number indicating the bug-fix revision; when preparing RCs of the release we will still suffix it after the release version number. I.e. major.minor.bug-fix[-rc_number]

Release Dates

  • KIP Freeze: Sept 13, 2017 (a KIP must be accepted by this date in order to be considered for this release)
  • Feature Freeze: Sept 20, 2017 (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 4, 2017 (first RC created now)
  • Release: JTBD


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 Guozhang Wang.

Release Features

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

  • Java 9 support with significantly faster TLS and CRC32C implementations
  • JBOD improvements: disk failure disables the failed disk instead of the broker (KIP-112/KIP-113 part 1)
  • Idempotent producer supports a maximum of 5 in-flight requests per connection instead of 1
  • Improved metrics (KIP-164, KIP-168, KIP-187, KIP-188, KIP-196) and logging
  • Improve diagnostics for SASL and SSL authentication failures (KIP-152)
  • Kafka Streams API improvements (KIP-120 / 130 / 138 / 150 / 160 / 161), and drop compatibility "Evolving" annotations 

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

Loading
Key Summary T Created Updated Due Assignee Reporter P Status Resolution
KAFKA-4669 KafkaProducer.flush hangs when NetworkClient.handleCompletedReceives throws exception Bug Jan 18, 2017 Nov 30, 2017 Rajini Sivaram Cheng Ju Critical Reopened Unresolved

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
1KIP-72: Allow putting a bound on memory consumed by Incoming request  KAFKA-4602 - KIP-72 Allow putting a bound on memory consumed by Incoming requests Resolved NetworkJun Rao
2KIP-112: Handle disk failure for JBOD KAFKA-4763 - Handle disk failure for JBOD (KIP-112) Resolved Broker Jun Rao
3KIP-113: Support replicas movement between log directories (part 1)

KAFKA-5694 - Add ChangeReplicaDirRequest and DescribeReplicaDirRequest (KIP-113) Resolved

Broker

 Jun Rao

Jiangjie Qin

4KIP-120: Cleanup Kafka Streams builder API KAFKA-3856 - Cleanup Kafka Streams builder API Resolved StreamsGuozhang Wang
5KIP 130: Expose states of active tasks to KafkaStreams public API KAFKA-4819 - Expose states of active tasks to public API Resolved StreamsGuozhang Wang
6KIP-138: Change punctuate semantics KAFKA-5233 - Changes to punctuate semantics (KIP-138) Resolved StreamsDamian Guy
7KIP-152 - Improve diagnostics for SASL authentication failures KAFKA-4764 - Improve diagnostics for SASL authentication failures Resolved Security

Jun Rao (broker)

Rajini Sivaram (client)

8

KIP 157 - Add consumer config options to streams reset tool

KAFKA-5225 - StreamsResetter doesn't allow custom Consumer properties Resolved StreamsDamian Guy
9KIP-160: Augment KStream.print(), KStream.writeAsText() KAFKA-4830 - Augment KStream.print() to allow users pass in extra parameters in the printed string Resolved StreamsDamian Guy
10KIP-161: streams deserialization exception handlers KAFKA-5157 - Options for handling corrupt data during deserialization Resolved StreamsDamian Guy
11KIP-162: Enable topic deletion by default KAFKA-5384 - KIP-162: Enable topic deletion by default Resolved AdminGwen Shapira
12KIP-163: Lower the Minimum Required ACL Permission of OffsetFetch KAFKA-4585 - KIP-163: Offset fetch and commit requests use the same permissions Resolved SecurityEwen Cheslack-Postava
13KIP-164- Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics KAFKA-5341 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics Resolved BrokerEwen Cheslack-Postava
14KIP-167: Add interface for the state store restoration process KAFKA-5363 - Add ability to batch restore and receive restoration stats. Resolved StreamsGuozhang Wang
15KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster KAFKA-5461 - KIP-168: Add GlobalTopicCount metric per cluster Resolved BrokerJason Gustafson
16KIP-173: Add prefix to StreamsConfig to enable setting default internal topic configs KAFKA-3741 - Allow setting of default topic configs via StreamsConfig Resolved StreamsDamian Guy
17KIP-177: Consumer perf tool should count rebalance time KAFKA-5358 - Consumer perf tool should count rebalance time separately Resolved ToolingJason Gustafson
18KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines KAFKA-5651 - KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines Resolved StreamsGuozhang Wang
19KIP-187 - Add cumulative count metric for all Kafka rate metrics KAFKA-5738 - Add cumulative count attribute for all Kafka rate metrics Resolved MetricsIsmael Juma
20KIP-188 - Add new metrics to support health checks KAFKA-5746 - Add new metrics to support health checks Resolved MetricsIsmael Juma
21KIP-189: Improve principal builder interface and add support for SASL KAFKA-5783 - Implement KafkaPrincipalBuilder interface with support for SASL (KIP-189) Resolved BrokerRajini Sivaram
22KIP-190: Handle client-ids consistently between clients and brokers KAFKA-5735 - Client-ids are not handled consistently by clients and broker Resolved BrokerRajini Sivaram
23KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern KAFKA-5726 - KafkaConsumer.subscribe() overload that takes just Pattern without ConsumerRebalanceListener Resolved ConsumerJason Gustafson
24KIP-192 : Provide cleaner semantics when idempotence is enabled KAFKA-5793 - Tighten up situations where OutOfOrderSequence may be returned Resolved Producer/BrokerJason Gustafson
25KIP-195: AdminClient.createPartitions KAFKA-5856 - Add AdminClient.createPartitions() Resolved AdminIsmael Juma
26KIP-196: Add metrics to Kafka Connect framework KAFKA-2376 - Add Kafka Connect metrics Resolved ConnectEwen Cheslack-Postava
27KIP-197 Connect REST API should include the connector type when describing a connector KAFKA-5657 - Connect REST API should include the connector type when describing a connector Resolved ConnectEwen Cheslack-Postava
28KIP-198: Remove ZK dependency from Streams Reset Tool KAFKA-5862 - Remove ZK dependency from Streams reset tool Resolved ToolingGuozhang Wang
29KIP-202 Move merge() from StreamsBuilder to KStream KAFKA-5765 - Move merge() from StreamsBuilder to KStream Resolved StreamsGuozhang Wang

Postponed to subsequent release

 KIPJIRAComponentCommitter
1KIP-48 Delegation token support for Kafka KAFKA-1696 - Kafka should be able to generate Hadoop delegation tokens Open Security ?
2KIP-81: Bound Fetch memory usage in the consumer KAFKA-4133 - Provide a configuration to control consumer max in-flight fetches Open ConsumerJason Gustafson
3KIP-91 Provide Intuitive User Timeouts in The Producer KAFKA-5886 - Introduce delivery.timeout.ms producer config (KIP-91) Patch Available Producer

Jiangjie Qin

4KIP-113: Support replicas movement between log directories (part 2) KAFKA-5163 - Support replicas movement between log directories (KIP-113) Resolved BrokerJun Rao
5KIP-118: Drop Support for Java 7 in Kafka 0.11 KAFKA-4423 - Drop support for Java 7 Open BuildGuozhang Wang
6KIP-150 - Kafka-Streams Cogroup KAFKA-6049 - Kafka Streams: Add Cogroup in the DSL Open StreamsGuozhang Wang
7KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress KAFKA-5565 - Add a broker metric specifying the number of consumer group rebalances in progress Resolved BrokerJason Gustafson
8KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient KAFKA-5692 - Refactor PreferredReplicaLeaderElectionCommand to use AdminClient Patch Available Tools/BrokerIsmael Juma

 

 

  • No labels