Apache Kafka® 3.3 is released! With over two years of development, KIP-833 marks KRaft as production ready for new AK 3.3 clusters only. On behalf of the Kafka community, Danica Fine (Senior Developer Advocate, Confluent) shares highlights of this release, with KIPs from Kafka Core, Kafka Streams, and Kafka Connect.
To reduce request overhead and simplify client-side code, KIP-709 extends the OffsetFetch API requests to accept multiple consumer group IDs. This update has three changes, including extending the wire protocol, response handling changes, and enhancing the AdminClient to use the new protocol.
Log recovery is an important process that is triggered whenever a broker starts up after an unclean shutdown. And since there is no way to know the log recovery progress other than checking if the broker log is busy, KIP-831 adds metrics for the log recovery progress with `RemainingLogsToRecover` and `RemainingSegmentsToRecover`for each recovery thread. These metrics allow the admin to monitor the progress of the log recovery.
Additionally, updates on Kafka Core also include KIP-841: Fenced replicas should not be allowed to join the ISR in KRaft. KIP-835: Monitor KRaft Controller Quorum Health. KIP-859: Add metadata log processing error-related metrics.
KIP-834 for Kafka Streams added the ability to pause and resume topologies. This feature lets you reduce rescue usage when processing is not required or modifying the logic of Kafka Streams applications, or when responding to operational issues. While KIP-820 extends the KStream process with a new processor API.
Previously, KIP-98 added support for exactly-once delivery guarantees with Kafka and its Java clients. In the AK 3.3 release, KIP-618 offers the Exactly-Once Semantics support to Confluent’s source connectors. To accomplish this, a number of new connectors and worker-based configurations have been introduced, including `exactly.once.source.support`, `transaction.boundary`, and more.
Image attribution: Apache ZooKeeper™: https://zookeeper.apache.org/ and Raft logo: https://raft.github.io/
EPISODE LINKS
It’s Time for Streaming to Have a Maturity Model ft. Nick Dearden
Containerized Apache Kafka On Kubernetes with Viktor Gamov
Catch Your Bus with KSQL: A Stream Processing Recipe by Leslie Kurt
KTable Update Suppression (and a Bunch About KTables) ft. John Roesler
Splitting and Routing Events with KSQL ft. Pascal Vantrepote
Ask Confluent #10: Cooperative Rebalances for Kafka Connect ft. Konstantine Karantasis
The Future of Serverless and Streaming with Neil Avery
Using Terraform and Confluent Cloud with Ricardo Ferreira
Ask Confluent #9: With and Without ZooKeeper
Ask Confluent #8: Guozhang Wang on Kafka Streams Standby Tasks
Ask Confluent #7: Kafka Consumers and Streams Failover Explained ft. Matthias Sax
Ask Confluent #6: Kafka, Partitions, and Exactly Once ft. Jason Gustafson
Kafka Summit SF 2018 Panel | Microsoft, Slack, Confluent, University of Cambridge
Kafka Streams in Action with Bill Bejeck
Joins in KSQL 5.0 with Hojjat Jafarpour
Ask Confluent #5: Kafka, KSQL and Viktor Gamov
KSQL Use Cases with Nick Dearden
Nested Data in KSQL with Hojjat Jafarpour
UDFs and UDAFs in KSQL 5.0 with Hojjat Jafarpour
Ask Confluent #4: The GitHub Edition
Create your
podcast in
minutes
It is Free
Insight Story: Tech Trends Unpacked
Zero-Shot
Fast Forward by Tomorrow Unlocked: Tech past, tech future
Lex Fridman Podcast
The Unbelivable Truth - Series 1 - 26 including specials and pilot