Versions Compared

Key

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

Release Dates

  • KIP Freeze: May 811, 2019 (a KIP must be accepted by this date in order to be considered for this release)
  • Feature Freeze: May 1517, 2019 (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 29, 2019
  • Release: June 12, 2019 (target)

...

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

  • There have been several improvements to the Kafka Connect REST API.
  • Kafka Connect now supports incremental cooperative rebalancing. 
  • Kafka Streams now supports an inIn-memory session store and window store for Kafka Streams.
  • A new broker metric indicating the start time.
  • Incremental cooperative rebalancing in Kafka Connect

  • Return Authorized Operations in Describe Responses
  • The AdminClient API now supports dynamically changing log levels
  • MirrorMaker 2.0
  • Verify leader epoch in produce requests
  • Improved incremental AlterConfigs API
  • .
  • The AdminClient now allows users to determine what operations they are authorized to perform on topics.
  • There is a new broker start time metric.
  • JMXTool can now connect to secured RMI ports.
  • An incremental AlterConfigs API has been added.  The old AlterConfigs API has been deprecated.
  • We now track partitions which are under their min ISR count.
  • Consumers can now opt-out of automatic topic creation, even when it is enabled on the broker.
  • Kafka components can now use external configuration stores (KIP-421)
  • Improved replica fetcher behavior when errors are encounteredSupport non-key joining in KTable

How to Contribute

Before 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

Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject = KAFKA AND fixVersion = 2.3.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

See Kafka Improvement Proposals for the full list of KIPs.

KIPJIRAComponentComment
KIP-465: Add Consolidated Connector Endpoint to Connect REST APIConnect
KIP-462: Use local thread id for KStreamsStreams
KIP-461: Improve Replica Fetcher behavior at handling partition failureCore
KIP-458: Connector Client Config Override PolicyConnect
KIP-454: Expansion of the ConnectClusterState interfaceConnect
KIP-453: Add close() method to RocksDBConfigSetterStreams
KIP-449: Add connector contexts to log messages in Connect workers  KAFKA-3816Connect
KIP-445: In-memory Session StoreKAFKA-8029Streams
KIP-443: Return to default segment.ms and segment.index.bytes in Streams repartition topicsStreams
KIP-442: Return to default max poll interval in StreamsStreams
KIP-436: Add a metric indicating start time KAFKA-7992Core
KIP-430 - Return Authorized Operations in Describe ResponsesKAFKA-7922 Core
KIP-428: Add in-memory window storeKAFKA-4730Streams
KIP-427: Add AtMinIsr topic partition category (new metric & TopicCommand option)KAFKA-7904Core
KIP-425: Add some Log4J Kafka Appender Properties for Producing to Secured BrokersKAFKA-7896Core
KIP-421Support resolving externalized secrets in AbstractConfigKAFKA-7847 Core
KIP-417: Allow JmxTool to connect to a secured RMI portKAFKA-7455Core
KIP-415: Incremental Cooperative Rebalancing in Kafka ConnectKAFKA-5505Connect
KIP-411: Make default Kafka Connect worker task client IDs distinctKAFKA-5061Connect
KIP-402: Improve fairness in SocketServer processorsKAFKA-7719KAFKA-7730CorePartially implemented in 2.2.
KIP-361: Add Consumer Configuration to Disable Auto Topic CreationKAFKA-7320Core
KIP-351: Add --under-min-isr option to describe topics commandKAFKA-7236Core
KIP-345: Introduce static membership protocol to reduce consumer rebalancesKAFKA-7018KAFKA-7610, KAFKA-7728KAFKA-8224 Core, ClientsPartially implemented in 2.3 (can already be used)
KIP-339: Create a new IncrementalAlterConfigs APIKAFKA-7466CoreVoted on a while ago, but first implemented in 2.3.
KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and SerdeKAFKA-6161Streams
KIP-313: Add KStream.flatTransform and KStream.flatTransformValues StreamsPartially implemented since 2.2.
KIP-307: Allow to define custom processor names with KStreams DSLKAFKA-6958StreamsPartially implemented in 2.3 (no public API improvements yet)
KIP-258: Allow to Store Record Timestamps in RocksDBKAFKA-3522 and KAFKA-8382 StreamsPartially implemented in 2.3
KIP-354: Add a Maximum Log Compaction Lag KAFKA-7321Core