Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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: TBDSept 13, 2017 (a KIP must be accepted by this date in order to be considered for this release)
  • Feature Freeze: TBDSept 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: TBDOct 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
  • Drop support of Java 7 (KIP-118)
  • JBOD support for disk failures (KIP-112)
  • 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 bugs on important 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

Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject = KAFKA AND fixVersion = 1.0.11.1.0 AND status not in (resolved, closed) ORDER BY priority DESC, status DESC, updated DESC
serverId5aa69414-a9e9-3523-82ec-879b028fb15b

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.

Security NetworkConsumerBrokerGuozhang Wang
 KIPJIRAComponentCommitter
1KIP-48 Delegation token support for Kafka72: Allow putting a bound on memory consumed by Incoming request 
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-16964602
NetworkJun Rao
2KIP-72: Allow putting a bound on memory consumed by Incoming request 112: Handle disk failure for JBOD
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-46024763
Broker Jun Rao
3KIP-81: Bound Fetch memory usage in the consumer113: Support replicas movement between log directories (part 1)

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

4133

5694

Broker

 Jun Rao

Jiangjie Qin

4KIP-112: Handle disk failure for JBOD120: Cleanup Kafka Streams builder API
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-47633856
Streams 5KIP-118: Drop Support for Java 7 in Kafka 0.11guozhang Wang
5KIP 130: Expose states of active tasks to KafkaStreams public API
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4819
Streamsguozhang Wang
6KIP-138: Change punctuate semantics
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5233
StreamsDamian Guy
7KIP-152 - Improve diagnostics for SASL authentication failures
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4764
Security

Jun Rao (broker)

Rajini Sivaram (client)

8

KIP 157 - Add consumer config options to streams reset tool

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5225
StreamsDamian Guy
9KIP-160: Augment KStream.print(), KStream.writeAsText()
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4830
StreamsDamian Guy
10KIP-161: streams deserialization exception handlers
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5157
StreamsDamian Guy
11KIP-162: Enable topic deletion by default
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5384
AdminGwen Shapira
12KIP-163: Lower the Minimum Required ACL Permission of OffsetFetch
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4423
Build 
4585
SecurityEwen Cheslack-Postava
13KIP-164- Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5341
BrokerEwen Cheslack-Postava
14KIP-167: Add interface for the state store restoration process6KIP-120: Cleanup Kafka Streams builder API
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-38565363
StreamsGuozhang Wangguozhang Wang
15KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5461
BrokerJason Gustafson
16KIP-173: Add prefix to StreamsConfig to enable setting default internal topic configs7KIP-138: Change punctuate semantics
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-52333741
StreamsDamian Guy
817KIP-150 - Kafka-Streams CogroupTBD (Kyle Winkelman)StreamsGuozhang Wang177: Consumer perf tool should count rebalance time
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5358
ToolingJason Gustafson
18KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5651
Streamsguozhang Wang
19KIP-187 - Add cumulative count metric for all Kafka rate metrics
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5738
MetricsIsmael Juma Juma
20KIP-188 - Add new metrics to support health checks
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5746
MetricsIsmael Juma Juma
21KIP-189: Improve principal builder interface and add support for SASL
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5783
BrokerRajini Sivaram
22KIP-190: Handle client-ids consistently between clients and brokers
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5735
BrokerRajini Sivaram
23KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5726
ConsumerJason Gustafson
24KIP-192 : Provide cleaner semantics when idempotence is enabled
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5793
Producer/BrokerJason Gustafson
25KIP-195: AdminClient.createPartitions
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5856
AdminIsmael Juma Juma
26KIP-196: Add metrics to Kafka Connect framework
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-2376
ConnectEwen Cheslack-Postava
27KIP-197 Connect REST API should include the connector type when describing a connector
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5657
ConnectEwen Cheslack-Postava
28KIP-198: Remove ZK dependency from Streams Reset Tool9KIP-160: Augment KStream.print(), KStream.writeAsText()
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5862
Toolingguozhang Wang
29KIP-202 Move merge() from StreamsBuilder to KStream
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5765
StreamsGuozhang Wang

Postponed to subsequent release

Damian Guy
 KIPJIRAComponentCommitter
1KIP-48 Delegation token support for Kafka
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-1696
Security ?
2KIP-81: Bound Fetch memory usage in the consumer
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4133
ConsumerJason Gustafson
3KIP-91 Provide Intuitive User Timeouts in The Producer
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-48305886
Producer

Jiangjie Qin

4KIP-113: Support replicas movement between log directories (part 2)
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5163
BrokerJun Rao
5KIP-118: Drop Support for Java 7
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4423
Buildguozhang Wang
6KIP-150 - Kafka-Streams Cogroup
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-6049
Streamsguozhang Wang
7KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5565
BrokerJason Gustafson
8KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClientStreamsDamian Guy10KIP-161: streams deserialization exception handlers
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4830
Streams
5692
Tools/BrokerIsmael Juma Juma