A few months ago, we announced the release of open-source Confluent Platform 3.0 and Apache Kafka 0.10, marking the availability of Kafka Streams — the new stream processing engine of Apache Kafka — and Confluent Control Center — a comprehensive management and monitoring solution for Apache Kafka available in Confluent Platform. Since this release, Kafka Streams has received great feedback from the community and also has early adopters that have shared success stories for large-scale production deployments, for implementing microservices and reactive applications, user behavior analysis, containerized Scala stream processing applications, geospatial analysis, language classification via machine learning, and much more.
Today, I am pleased to announce the availability of the first patch release of the Kafka 0.10 series: the 0.10.0.1 release of Apache Kafka and the corresponding release of the Confluent Platform 3.0.1. The 0.10.0.1 release fixes a total of 56 issues, out of which 40 are bug fixes and 11 are general improvements. We recommend all users upgrade to this release by bumping up the version of your Kafka dependencies to 0.10.0.1 (Confluent Platform users: 0.10.0.1-cp1) in your applications and updating the binary installations on server machines.
Here is a quick overview of the notable bug fixes in the release, grouped by the affected functionality. You can review the complete list of issues fixed in the release notes and the Kafka-related list of issues in the Apache Kafka release notes.
Confluent Control Center – Available in Confluent Platform
We added the ability to delete a running connector and also added support for monitoring secure Kafka clusters. In addition, Confluent Control Center in Confluent Platform 3.0.1 is significantly more efficient; several performance fixes are included, reducing memory consumption and running overhead of Confluent Control Center.
This release introduces the new Application Reset Tool in Kafka Streams. This tool allows you to reset an application using Kafka Streams to reprocess from scratch — similar to a “reset button” on an application.
The ability to reset an application is useful in for a number of reasons — A/B testing new application business logic, development iteration, fixing a bug and upgrading the application and more.
Prior to this release, the process of resetting an application was manual and error-prone.
KAFKA-3950: MirrorMaker whitelist option should only require authorization for matching topics
KAFKA-3783: Race condition on last ACL removal fails with a ZkBadVersionException
KAFKA-3830: getTGT() debug logging exposes confidential information
KAFKA-3933: Kafka OOM During Log Recovery Due to Leaked Native Memory
KAFKA-3996: ByteBufferMessageSet.writeTo() should be non-blocking
KAFKA-3924: Data loss due to halting when LEO is larger than leader’s LEO
KAFKA-3915: LogCleaner IO buffers do not account for potential size difference due to message format change
KAFKA-3802: log mtimes reset on broker restart
KAFKA-3789: Upgrade Snappy to fix snappy decompression errors
KAFKA-3718: propagate all KafkaConfig __consumer_offsets configs to OffsetConfig
KAFKA-3787: Preserve message timestamp in mirror maker
KAFKA-4073: MirrorMaker should handle mirroring messages w/o timestamp
KAFKA-3258: BrokerTopicMetrics of deleted topics are never deleted
KAFKA-3785: Fetcher spending unnecessary time during metrics recording
KAFKA-3747: Close current batch before starting a new one to release memory sooner
KAFKA-3960: Committed offset not set after first assign
KAFKA-3879: KafkaConsumer with auto-commit enabled gets stuck when killed after broker is dead
KAFKA-3854: Subsequent regex subscription calls fail
According to git shortlog, 45 people contributed to this release:
Alex Glikson, Alex Loddengaard, Alexey Romanchuk, Ashish Singh, Avi Flax, Damian Guy, Dan Norwood, Dustin Cote, Edoardo Comar, Eno Thereska, Ewen Cheslack-Postava, Flavio Junqueira, Florian Hussonnois, Geoff Anderson, Grant Henke, Greg Fodor, Guozhang Wang, Gwen Shapira, Henry Cai, Ismael Juma, Jason Gustafson, Jeff Klukas, Jendrik Poloczek, Jeyhun Karimov, Liquan Pei, Manikumar Reddy O, Mathieu Fenniak, Matthias J. Sax, Maysam Yabandeh, Mayuresh Gharat, Mickael Maison, Moritz Siuts, Onur Karaman, Philippe Derome, Rajini Sivaram, Rollulus, Ryan Pridgeon, Samuel Taylor, Sebastien Launay, Sriharsha Chintalapani, Tao Xiao, Todd Palino, Tom Crayford, Tom Rybak, Vahid Hashemian, Wan Wenli, Yuto Kawamura
How do I get Apache Kafka 0.10.0.1?
The easiest way to get started with or upgrade Kafka is by downloading Confluent Platform. The 3.0.1 release of Confluent Platform is 100% open-source and includes Apache Kafka 0.10.0.1 along with tools that you need to get started with Kafka. Learn more about it by reading the details in the Confluent Platform 3.0.1 documentation or download it to give it a spin.
As always, we are happy to hear your feedback. Please post your questions and suggestions to the public Confluent Platform mailing list.