This 63rd edition of the Kafka Monthly Digest covers what happened in the Apache Kafka community in April 2023.
For last month’s digest, see Kafka Monthly Digest: March 2023.
Releases
There are two releases in progress: 3.5.0 and 3.4.1.
3.5.0
The release process for 3.5.0 continued. On April 13, just after feature freeze, I created the 3.5 branch. Then we reached code freeze on April 26. There is now a 2 week stabilization period before the first release candidate. You can find the release plan with all the details in the wiki.
3.4.1
On April 26, Luke Chen volunteered to run the 3.4.1 bugfix release. You can find all details in the release plan in the wiki.
KIPs
Last month, the community submitted 6 KIPs (KIP-918 to KIP-923). I'll highlight a few of them:
- KIP-919: Allow AdminClient to Talk Directly with the KRaft Controller Quorum: Currently in KRaft mode controllers are isolated from clients. This KIP proposes changing this so Admin clients can be used to directly interact with controllers. This would help configuring the controller quorum and also debug potential issues when no brokers are available.
- KIP-921: OpenJDK CRaC support: CRaC (Coordinated Restore at Checkpoint) is an OpenJDK project to provide a checkpoint and restore mechanism to the JVM. CRaC is still in development but this KIP aims at providing early CRaC support to the Kafka clients.
- KIP-923: Add A Grace Period to Stream Table Join: Recent improvements around versioned tables have made stream-table joins produce incorrect values in some cases. This KIP's goal is to update the stream side handling to have a grace period so late records can be processed in timestamp order.
Community Releases
- Debezium 2.2: Debezium is a Change Data Capture platform. The 2.2 release contains a lot of new features and changes. It introduces a JDBC sink connector to allow pushing Debezium change events to a database. It adds support for parallel snapshots, adds a new SMT
ExtractChangedRecordState
and brings many improvements to Debezium Server. - Librdkafka 2.1: Librdkafka is a Kafka client in C/C++. This version improves the handling of log truncation by the consumer (KIP-320) and upgrades a few dependencies such as OpenSSL and lz4.
- akhq 0.24: AKHQ is a GUI for Apache Kafka. This release brings a few interesting features such as key and value masking to protect sensitive data, better support for configuration overrides for Kafka Connect, and it improves the display of non-string record headers.
Blogs
I selected some interesting blog articles that were published last month:
- Why Apache Kafka doesn't need fsync to be safe
- Concurrency with Kafka and Spring Boot
- Tales of Kafka at Cloudflare: Andrea Medda and Matt Boyle at QCon London
To learn more about Kafka, visit Red Hat Developer's Apache Kafka topic page.