Child pages
  • Release Plan 0.11.0.0
Skip to end of metadata
Go to start of metadata

Release Dates

  • KIP Freeze: May 10, 2017 (a KIP must be accepted by this date in order to be considered for this release)
  • Feature Freeze: May 17, 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: May 31, 2017 (first RC created now)
  • Release: June 14, 2017 

Release Manager
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 Ismael Juma.

Release Features

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

  • Exactly-once delivery and transactional messaging
  • Streams exactly-once semantics
  • AdminClient
  • Record headers
  • Request rate quotas
  • Improved resiliency: replication protocol improvement and single-threaded controller

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 system tests. We want to preserve the tradition of high-quality releases in Apache Kafka. 

After code freeze:

  • Test the release candidates
  • Open bugs on important issues found
  • Fix 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-5147 KafkaProducer's TransactionManager needs a review on synchronization Sub-task May 01, 2017 May 24, 2017 Apurva Mehta Apurva Mehta Blocker Patch Available Unresolved
KAFKA-5202 Handle topic deletion for ongoing transactions Sub-task May 09, 2017 May 24, 2017 Guozhang Wang Jason Gustafson Blocker Patch Available Unresolved
KAFKA-5260 Producer should not send AbortTxn unless transaction has actually begun Sub-task May 16, 2017 May 23, 2017 Damian Guy Jason Gustafson Blocker Patch Available Unresolved
KAFKA-4935 Consider disabling record level CRC checks for message format V2 Sub-task Mar 22, 2017 May 23, 2017 Jason Gustafson Apurva Mehta Blocker Patch Available Unresolved
KAFKA-5006 KeyValueStore.put may throw exception unrelated to the current put attempt Sub-task Apr 03, 2017 May 22, 2017 Eno Thereska Xavier Léauté Blocker Patch Available Unresolved
KAFKA-5259 TransactionalId authorization should imply ProducerId authorization Sub-task May 16, 2017 May 19, 2017 Jason Gustafson Jason Gustafson Blocker Patch Available Unresolved
KAFKA-5281 System tests for KIP-98 / transactions Sub-task May 18, 2017 May 24, 2017 Apurva Mehta Apurva Mehta Blocker In Progress Unresolved
KAFKA-3356 Remove ConsumerOffsetChecker, deprecated in 0.9, in 0.11 Bug Mar 09, 2016 May 18, 2017 Mickael Maison Ashish Singh Blocker In Progress Unresolved
KAFKA-5019 Exactly-once upgrade notes Sub-task Apr 06, 2017 May 24, 2017 Jason Gustafson Ismael Juma Blocker Open Unresolved
KAFKA-5317 Update KIP-98 to reflect changes during implementation. Sub-task May 23, 2017 May 23, 2017 Unassigned Apurva Mehta Blocker Open Unresolved
KAFKA-5093 Load only batch header when rebuilding producer ID map Sub-task Apr 20, 2017 May 23, 2017 Unassigned Jason Gustafson Blocker Open Unresolved
KAFKA-5021 Update Message Delivery Semantics section to take into account KIP-98 Sub-task Apr 06, 2017 May 23, 2017 Unassigned Ismael Juma Blocker Open Unresolved
KAFKA-5020 Update protocol documentation to mention message format v2 Sub-task Apr 06, 2017 May 23, 2017 Unassigned Ismael Juma Blocker Open Unresolved
KAFKA-5308 TC should handle UNSUPPORTED_FOR_MESSAGE_FORMAT in WriteTxnMarker response Sub-task May 22, 2017 May 23, 2017 Damian Guy Jason Gustafson Blocker Open Unresolved
KAFKA-5283 Update clients and server code to make sure that epoch and sequence numbers wrap around Sub-task May 18, 2017 May 18, 2017 Unassigned Apurva Mehta Blocker Open Unresolved
KAFKA-3123 Follower Broker cannot start if offsets are already out of range Bug Jan 20, 2016 Mar 28, 2017 Soumyajit Sahu Soumyajit Sahu Critical Patch Available Unresolved
KAFKA-3190 KafkaProducer should not invoke callback in send() Bug Feb 02, 2016 Jan 28, 2017 Jiangjie Qin Jiangjie Qin Critical Patch Available Unresolved
KAFKA-3177 Kafka consumer can hang when position() is called on a non-existing partition. Bug Jan 31, 2016 Jan 17, 2017 Jason Gustafson Jiangjie Qin Critical In Progress Unresolved
KAFKA-1694 KIP-4: Command line and centralized operations New Feature Oct 09, 2014 Jan 16, 2017 Grant Henke Joe Stein Critical In Progress Unresolved
KAFKA-5032 Think through implications of max.message.size affecting record batches in message format V2 Sub-task Apr 06, 2017 May 24, 2017 Unassigned Ismael Juma Critical Open Unresolved
Showing 20 out of 162 issues Refresh

Planned KIP Content

Note: The planned content is not binding - final content will be based the features committed by branch-cutting date.

 KIPJIRAComponentCommitter
1KIP-54: Sticky Partition Assignment Strategy KAFKA-2273 - KIP-54: Add rebalance with a minimal number of reassignments to server-defined strategy list Resolved ConsumerJason Gustafson
2KIP-66: Single Message Transforms for Kafka Connect (items not included in 0.10.2.0) KAFKA-4714 - Implement remaining KIP-66 SMTs Resolved ConnectEwen Cheslack-Postava
3KIP-82 - Add Record Headers KAFKA-4208 - Add Record Headers Resolved MultipleJason Gustafson
4KIP-98 - Exactly Once Delivery and Transactional Messaging

KAFKA-4815 - Idempotent/transactional Producer Checklist (KIP-98) Open

KAFKA-4816 - Message format changes for idempotent/transactional producer Resolved

KAFKA-4817 - Implement idempotent producer Resolved

KAFKA-4818 - Implement transactional clients Resolved

MultipleGuozhang Wang, Jason Gustafson, Jun Rao, Ismael Juma
5KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation

KAFKA-1211 - Hold the produce request with ack > 1 in purgatory until replicas' HW has larger than the produce offset (KIP-101) Resolved

KAFKA-5036 - Followups from KIP-101 Resolved

ReplicationJun Rao
6

KIP-106 - Change Default unclean.leader.election.enabled from True to False

KAFKA-5257 - CLONE - Change Default unclean.leader.election.enabled from True to False Resolved ControllerIsmael Juma
7KIP-107: Add purgeDataBefore() API in AdminClient KAFKA-4586 - Add purgeDataBefore() API in AdminClient Resolved MultipleJiangjie Qin
8KIP-109: Old Consumer Deprecation KAFKA-3264 - Mark the old Scala consumer and related classes as deprecated Patch Available ConsumerJason Gustafson
9KIP-114: KTable state stores and improved semantics KAFKA-5045 - KTable materialization and improved semantics Resolved StreamsGuozhang Wang
10KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation KAFKA-3959 - KIP-115: __consumer_offsets wrong number of replicas at startup Resolved Request handlingEwen Cheslack-Postava
11KIP-117: Add a public AdminClient API for Kafka admin operations KAFKA-3265 - Create Java Admin Client Resolved Admin ClientIsmael Juma
12KIP-119: Drop Support for Scala 2.10 in Kafka 0.11 KAFKA-4422 - Drop support for Scala 2.10 (KIP-119) Resolved BuildEwen Cheslack-Postava
13KIP-121: Add KStream peek method KAFKA-4720 - Add KStream.peek(ForeachAction<K,V>) Resolved StreamsGuozhang Wang
14KIP-122: Add Reset Consumer Group Offsets tooling KAFKA-4743 - Add a tool to Reset Consumer Group Offsets Resolved ToolsJason Gustafson
15KIP-123: Allow per stream/table timestamp extractor KAFKA-4144 - Allow per stream/table timestamp extractor Resolved StreamsGuozhang Wang
16KIP-124 - Request rate quotas KAFKA-4195 - support throttling on request rate In Progress BrokerJun Rao
17KIP-126 - Allow KafkaProducer to split and resend oversized batches. KAFKA-3995 - Split the ProducerBatch and resend when received RecordTooLargeException Resolved ClientsJoel Koshy
18KIP-128: Add ByteArrayConverter for Kafka Connect KAFKA-4783 - KIP-128: Blackbox or pass through converter or ByteArrayConverter for connect Resolved ConnectEwen Cheslack-Postava
19KIP-129: Streams Exactly-Once Semantics

KAFKA-4923 - Add Exactly-Once Semantics to Streams Resolved

KAFKA-4986 - Add producer per task support Resolved

StreamsGuozhang Wang
20KIP-133: Describe and Alter Configs Admin APIs KAFKA-3267 - Describe/Alter Configs protocol, server and client (KIP-133) Resolved AdminClientJun Rao
21KIP-134: Delay initial consumer group rebalance KAFKA-4925 - Add a configurable delay to the initial consumer group rebalance Resolved Group CoordinatorGuozhang Wang
22KIP-136: Add Listener name to SelectorMetrics tags KAFKA-4982 - Add listener tag to socket-server-metrics.connection-... metrics (KIP-136) Resolved MetricsIsmael Juma
23KIP-137: Enhance TopicCommand --describe to show topics marked for deletion KAFKA-4291 - TopicCommand --describe shows topics marked for deletion as under-replicated and unavailable (KIP-137) Patch Available ToolsIsmael Juma
24KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs KAFKA-3266 - Implement KIP-140 RPCs and APIs for creating, altering, and listing ACLs Resolved AdminClientIsmael Juma
25KIP-143: Controller Health Metrics KAFKA-5135 - Controller Health Metrics (KIP-143) Resolved ControllerJun Rao
26KIP-144: Exponential backoff for broker reconnect attempts KAFKA-3878 - Exponential backoff for broker reconnect attempts (KIP-144) Resolved ClientsIsmael Juma
27KIP-146 - Classloading Isolation in Connect KAFKA-3487 - KIP-146: Support per-connector/per-task classloaders in Connect Resolved ConnectEwen Cheslack-Postava
28KIP-151 Expose Connector type in REST API KAFKA-4343 - KIP-151: Connect REST API should expose whether each connector is a source or sink Resolved ConnectEwen Cheslack-Postava
29KIP-153: Include only client traffic in BytesOutPerSec metric KAFKA-5194 - KIP-153: Include only client traffic in BytesOutPerSec metric Resolved MetricsIsmael Juma
30KIP-154 Add Kafka Connect configuration properties for creating internal topics KAFKA-4667 - KIP-154: Connect should create internal topics Resolved ConnectEwen Cheslack-Postava
31KIP 155 - Add range scan for windowed state stores KAFKA-5192 - Range Scan for Windowed State Stores Resolved StreamsGuozhang Wang
32KIP 156 Add option "dry run" to Streams application reset tool KAFKA-5166 - Add option "dry run" to Streams application reset tool Resolved StreamsGuozhang Wang

See Kafka Improvement Proposals for the full list of KIPs.

KIPs Bumped to Next Release

 KIPJIRAComponentCommitterNotes
1KIP-48 Delegation token support for Kafka KAFKA-1696 - Kafka should be able to generate Hadoop delegation tokens Open Security PR not available
2KIP-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 Patch Available NetworkJun RaoIt was deemed safer to merge this to trunk early in the release cycle for the next release.
3KIP-81: Bound Fetch memory usage in the consumer KAFKA-4133 - Provide a configuration to control consumer max in-flight fetches Open Consumer Has a dependency on KIP-72 (which is still in progress) and there is no PR available, seems prudent to postpone it to the subsequent release.
4KIP-112: Handle disk failure for JBOD KAFKA-4763 - Handle disk failure for JBOD (KIP-112) Patch Available Broker Needs more review time and makes sense to be part of the same release as KIP-113.
5KIP-118: Drop Support for Java 7 in Kafka 0.11 KAFKA-4423 - Drop support for Java 7 Open Build Postponed for a variety of reasons
6KIP-120: Cleanup Kafka Streams builder API KAFKA-3856 - Cleanup Kafka Streams builder API In Progress StreamsGuozhang WangUnable to review it in time for the feature freeze
7KIP-138: Change punctuate semantics KAFKA-5233 - Changes to punctuate semantics (KIP-138) Patch Available StreamsGuozhang WangHigh impact change that needs more time to review
  • No labels