Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Quick links: redhat.com, Customer Portal, Red Hat's developer site, Red Hat's partner site.

  • You are here

    Red Hat

    Learn about our open source products, services, and company.

  • You are here

    Red Hat Customer Portal

    Get product support and knowledge from the open source experts.

  • You are here

    Red Hat Developer

    Read developer tutorials and download Red Hat software for cloud application development.

  • You are here

    Red Hat Partner Connect

    Get training, subscriptions, certifications, and more for partners to build, sell, and support customer solutions.

Products & tools

  • Ansible.com

    Learn about and try our IT automation product.
  • Red Hat Ecosystem Catalog

    Find hardware, software, and cloud providers―and download container images―certified to perform with Red Hat technologies.

Try, buy, & sell

  • Red Hat Hybrid Cloud Console

    Access technical how-tos, tutorials, and learning paths focused on Red Hat’s hybrid cloud managed services.
  • Red Hat Store

    Buy select Red Hat products and services online.
  • Red Hat Marketplace

    Try, buy, sell, and manage certified enterprise software for container-based environments.

Events

  • Red Hat Summit and AnsibleFest

    Register for and learn about our annual open source IT industry event.

Kafka Monthly Digest: July 2024

August 1, 2024
Mickael Maison
Related topics:
Kafka
Related products:
Streams for Apache Kafka

Share:

Share on twitter Share on facebook Share on linkedin Share with email
  • Releases
  • Kafka Improvement Proposals
  • Community Releases
  • Blogs

This 78th edition of the Kafka Monthly Digest covers what happened in the Apache Kafka community in July 2024.

For last month’s digest, see Kafka Monthly Digest: June 2024.

Releases

Releases

There is a new release, 3.8.0, and 3.9.0 is in progress:

3.8.0

Josep Prat published 3.8.0 RC0 on July 12 but an issue in the Admin client was quickly identified. Then 3.8.0 RC1 was published on July 15 but a regression in Connect was found. A third release candidate was published on July 18 but another issue this time in the log layer was found. Finally RC4 was published on July 26. It passed the vote and Kafka 3.8.0 released on July 29. You can find the announcement on the Apache Kafka blog. You can also check the release notes and the release plan in the wiki.
 

This new minor release brings several new features and many bug fixes. Tiered Storage is still in early access.
 

Kafka brokers and clients

Updates to the Kafka broker and clients include the following:

  • JBOD support in KRaft mode is now production ready. (KIP-858)
  • Tiered storage now supports JBOD but it remains in early access.
  • The new consumer protocol introduced in Kafka 3.7 in early access has received a lot of improvements. See the release notes for instructions on how to get started. Note that this feature is still not production ready. (KIP-848)
  • The compression level when using gzip, lz4 and zstd can now be configured. This allows optimizing the compression for your use cases and potentially improve latency and throughput. (KIP-390)
  • A new Docker image kafka-native is available. It uses GraalVM to run Kafka as a native application, so it starts significantly faster and uses less memory than the regular Docker image. (KIP-974)
  • The File and Directory configuration providers now allow restricting paths that can be accessed. (KIP-933)
     

Kafka Connect

Updates to Kafka Connect include the following:

  • The configuration of connectors can be updated partially using the new PATCH /connectors/<id>/config REST API endpoint. (KIP-477)
  • The maximum number of tasks created by a connector can now be enforced using the tasks.max.enforce configuration. (KIP-1004)
     

Kafka Streams

Updates to Kafka Streams include the following:

  • State stores can now be shared across applications. There are two new methods on Topology named addReadOnlyStateStore() that allow specifying a changelog topic to reuse. (KIP-813)
  • The task assignor can be customized by implementing the new TaskAssignor interface. (KIP-924)
     

3.9.0

The release process of 3.9.0 continued. Colin McCabe cut the 3.9 branch on July 30. You can find the release plan in the wiki.

Kafka Improvement Proposals

Kafka Improvement Proposals

Last month, the community submitted 8 KIPs (KIP-1066 to KIP-1074, KIP-1069 was skipped). I'll highlight a few of them:

  • KIP-1066: Mechanism to cordon brokers and log directories: When new topics or partitions are created, Kafka always tries to distribute them across all brokers in the cluster. This works very well in most cases but it is not optimal when the cluster is being scale in or out. In these scenarios it's better to assign the new partitions to a subset of the brokers (the new brokers when scaling out, the brokers remaining when scaling in). This KIP proposes a mechanism to prevent assigning new partitions to specific log directories and brokers. It reuses the "cordon" terminology from Kubernetes to make a broker or log directory unable to host any new partitions.
     
  • KIP-1068: New metrics for the new KafkaConsumer: Kafka 3.7 introduced a new consumer rebalance protocol via KIP-848 (still in early access). This KIP adds new metrics to the Consumer when it's using the new rebalance protocol.
     
  • KIP-1071: Streams Rebalance Protocol: This KIP aims at updating the rebalance protocol used by Streams to follow the new consumer rebalance protocol from KIP-848. With this new protocol, the group coordinator will be responsible for computing the task assignments and creating internal topics. The goal is also to make stand-by and warm-up tasks first class citizens in the protocol.
     
  • KIP-1073: Return inactive observer nodes in DescribeQuorum response: In KRaft mode, when a broker is decommissioned, it needs to be explicitly unregistered from the cluster. This is done using the Admin.unregisterBroker() API and providing the Id of the broker to unregister. However at the moment there isn't a mechanism to retrieve the Ids of all registered brokers, the Admin.describeMetadataQuorum() API only returns brokers that are currently online. This KIP proposes enhancing the DescribeQuorum API to also include offline brokers.

     

Community Releases

Community Releases

  • strimzi-kafka-operator 0.42: Strimzi is a Kubernetes Operator for running Kafka. This new release adds support for Kafka 3.7.1. The UseKRaft feature gate is now permanently enabled, so to use KRaft when deploying a new cluster you just need to set the strimzi.io/kraft: enabled annotation on your Kafka custom resource.
     
  • Librdkafka 2.5: Librdkafka is a Kafka client in C/C++. This release adds support for KIP-951 so new leaders can be discovered more efficiently when there are partition leadership changes, and it also supports sending client metrics to brokers for better observability (KIP-714).
     
Blogs

Blogs

I selected some interesting blog articles that were published last month:

  • Building and scaling Notion’s data lake
  • Introduction to Kafka Tiered Storage at Uber

To learn more about Kafka, visit Red Hat Developer's Apache Kafka topic page.
 

Disclaimer: Please note the content in this blog post has not been thoroughly reviewed by the Red Hat Developer editorial team. Any opinions expressed in this post are the author's own and do not necessarily reflect the policies or positions of Red Hat.

Recent Posts

  • How to set up NVIDIA NIM on Red Hat OpenShift AI

  • Leveraging Ansible Event-Driven Automation for Automatic CPU Scaling in OpenShift Virtualization

  • Python packaging for RHEL 9 & 10 using pyproject RPM macros

  • Kafka Monthly Digest: April 2025

  • How to scale smarter with OpenShift Serverless and Knative

Red Hat Developers logo LinkedIn YouTube Twitter Facebook

Products

  • Red Hat Enterprise Linux
  • Red Hat OpenShift
  • Red Hat Ansible Automation Platform

Build

  • Developer Sandbox
  • Developer Tools
  • Interactive Tutorials
  • API Catalog

Quicklinks

  • Learning Resources
  • E-books
  • Cheat Sheets
  • Blog
  • Events
  • Newsletter

Communicate

  • About us
  • Contact sales
  • Find a partner
  • Report a website issue
  • Site Status Dashboard
  • Report a security problem

RED HAT DEVELOPER

Build here. Go anywhere.

We serve the builders. The problem solvers who create careers with code.

Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

Sign me up

Red Hat legal and privacy links

  • About Red Hat
  • Jobs
  • Events
  • Locations
  • Contact Red Hat
  • Red Hat Blog
  • Inclusion at Red Hat
  • Cool Stuff Store
  • Red Hat Summit

Red Hat legal and privacy links

  • Privacy statement
  • Terms of use
  • All policies and guidelines
  • Digital accessibility

Report a website issue