Child pages
  • Release Plan 1.1.0 (2018 Feb.)
Skip to end of metadata
Go to start of metadata

Release Dates

  • KIP Freeze: January 23, 2018 (a KIP must be accepted by this date in order to be considered for this release)
  • Feature Freeze: January 30, 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: February 13, 2018 (first RC created now)
  • Release: February 27, 2018 (Tentatively)


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 Damian Guy.

Release Features

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

  • Significant Controller improvements (much faster and session expiration edge cases fixed)
  • Data balancing across log directories (JBOD)
  • More efficient replication when the number of partitions is large
  • Dynamic Broker Configs
  • Delegation tokens (KIP-48)
  • Kafka Streams API improvements (KIP-205 / 210 / 220 / 224 / 239)

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

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
KIP-86: Configurable SASL callback handlers KAFKA-4292 - KIP-86: Configurable SASL callback handlers Open BrokerRajini Sivaram
KIP-91 Provide Intuitive User Timeouts in The Producer Client?
KIP-145 - Expose Record Headers in Kafka Connect KAFKA-5142 - KIP-145 - Expose Record Headers in Kafka Connect Resolved ConnectEwen Cheslack-Postava
KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner

KAFKA-4218 - Enable access to key in ValueTransformer Resolved

KAFKA-4726 - ValueMapper should have (read) access to key Resolved

KAFKA-5764 - KafkaShortnamer should allow for case-insensitive matches Resolved

StreamsGuozhang Wang

KIP-171 - Extend Consumer Group Reset Offset for Stream Application

KAFKA-5520 - Extend Consumer Group Reset Offset tool for Stream Applications Resolved StreamsGuozhang Wang
KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient KAFKA-5692 - Refactor PreferredReplicaLeaderElectionCommand to use AdminClient Patch Available MultipleIsmael Juma
KIP-203: Add toLowerCase support to sasl.kerberos.principal.to.local rule  KAFKA-5764 - KafkaShortnamer should allow for case-insensitive matches Resolved SecurityJason Gustafson
KIP-204 : Adding records deletion operation to the new Admin Client API KAFKA-5925 - Adding records deletion operation to the new Admin Client API Resolved Admin ClientGuozhang Wang
KIP-205: Add all() and range() API to ReadOnlyWindowStore KAFKA-4499 - Add "getAllKeys" API for querying windowed KTable stores Resolved StreamsGuozhang Wang
KIP-208: Add SSL support to Kafka Connect REST interface KAFKA-4029 - SSL support for Connect REST API Resolved ConnectEwen Cheslack-Postava
KIP-210 - Provide for custom error handling when Kafka Streams fails to produce KAFKA-6086 - Provide for custom error handling when Kafka Streams fails to produce Resolved StreamsDamian Guy
KIP-212: Enforce set of legal characters for connector names KAFKA-4930 - Connect Rest API allows creating connectors with an empty name - KIP-212 Resolved ConnectEwen Cheslack-Postava
KIP-214: Add zookeeper.max.in.flight.requests config to the broker KAFKA-5894 - add the notion of max inflight requests to async ZookeeperClient Resolved BrokerJiangjie Qin
KIP-215: Add topic regex support for Connect sinks KAFKA-3073 - KafkaConnect should support regular expression for topics Resolved ConnectEwen Cheslack-Postava
KIP-218: Make KafkaFuture.Function java 8 lambda compatible KAFKA-6018 - Make KafkaFuture.Function java 8 lambda compatible Resolved ClientEwen Cheslack-Postava
KIP-220: Add AdminClient into Kafka Streams' ClientSupplier KAFKA-6170 - Add the AdminClient in Streams' KafkaClientSupplier Resolved StreamsGuozhang Wang
KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer KAFKA-6184 - report a metric of the lag between the consumer offset and the start offset of the log Resolved ClientJun Rao

KIP-224: Add configuration parameter `retries` to Streams API

KAFKA-6122 - Global Consumer should handle TimeoutException Resolved StreamsGuozhang Wang
KIP-225 - Use tags for consumer “records.lag” metrics KAFKA-5890 - records.lag should use tags for topic and partition rather than using metric name. Closed ClientJiangjie Qin
KIP-226 - Dynamic Broker Configuration KAFKA-6240 - Support dynamic updates of frequently updated broker configs Resolved BrokerRajini Sivaram
KIP-227 - Introduce Incremental FetchRequests to Increase Partition Scalability KAFKA-6254 - Introduce Incremental FetchRequests to Increase Partition Scalability Resolved BrokerJun Rao
KIP-229: DeleteGroups API KAFKA-6275 - Extend consumer offset reset tool to support deletion (KIP-229) Resolved MultipleJason Gustafson

KIP-233: Simplify StreamsBuilder#addGlobalStore

KAFKA-6138 - Simplify StreamsBuilder#addGlobalStore Resolved StreamsMatthias J. Sax
KIP-237: More Controller Health Metrics KAFKA-3473 - KIP-237: More Controller Health Metrics Open BrokerIsmael Juma
KIP-238: Expose Kafka cluster ID in Connect REST API KAFKA-6311 - Expose Kafka cluster ID in Connect REST API Resolved ConnectJason Gustafson
KIP-239 Add queryableStoreName() to GlobalKTable KAFKA-6265 - GlobalKTable missing #queryableStoreName() Resolved StreamsGuozhang Wang
KIP-243: Make ProducerConfig and ConsumerConfig constructors public KAFKA-6382 - Make ProducerConfig and ConsumerConfig constructors public Resolved ClientMatthias J. Sax

KIP-247: Add public test utils for Kafka Streams

KAFKA-3625 - Move kafka-streams test fixtures into a published package Resolved StreamsGuozhang Wang
KIP-48: Delegation token support for Kafka KAFKA-4541 - Add capability to create delegation token Resolved Broker 

Postponed to subsequent release

KIPJIRAComponentCommitter

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

(only partially implemented in 1.1.0)

KAFKA-4218 - Enable access to key in ValueTransformer Resolved

KAFKA-4726 - ValueMapper should have (read) access to key Resolved

KAFKA-5764 - KafkaShortnamer should allow for case-insensitive matches Resolved

Streams?
KIP-150 - Kafka-Streams Cogroup KAFKA-6049 - Kafka Streams: Add Cogroup in the DSL Open Streams ?
KIP-245: Use Properties instead of StreamsConfig in KafkaStreams constructor KAFKA-6386 - Deprecate KafkaStreams constructor taking StreamsConfig parameter Patch Available Streams?

 

 

  • No labels