Streaming Audio: Apache Kafka® & Real-Time Data
Apache Kafka 3.5 - Kafka Core, Connect, Streams, & Client Updates
Jun 15, 2023
Season 1
Episode 265
Confluent, founded by the original creators of Apache Kafka®
Apache Kafka® 3.5 is here with the capability of previewing migrations between ZooKeeper clusters to KRaft mode. Follow along as Danica Fine highlights key release updates.
Kafka Core:
- KIP-833 provides an updated timeline for KRaft.
- KIP-866 now is preview and allows migration from an existing ZooKeeper cluster to KRaft mode.
- KIP-900 introduces a way to bootstrap the KRaft controllers with SCRAM credentials.
- KIP-903 prevents a data loss scenario by preventing replicas with stale broker epochs from joining the ISR list.
- KIP-915 streamlines the process of downgrading Kafka's transaction and group coordinators by introducing tagged fields.
Kafka Connect:
- KIP-710 provides the option to use a REST API for internal server communication that can be enabled by setting `dedicated.mode.enable.internal.rest` equal to true.
- KIP-875 offers support for native offset management in Kafka Connect. Connect cluster administrators can now read offsets for both source and sink connectors. This KIP adds a new STOPPED state for connectors, enabling users to shut down connectors and maintain connector configurations without utilizing resources.
- KIP-894 makes `IncrementalAlterConfigs` API available for use in MirrorMaker 2 (MM2), adding a new use.incremental.alter.config configuration which takes values “requested,” “never,” and “required.”
- KIP-911 adds a new source tag for metrics generated by the `MirrorSourceConnector` to help monitor mirroring deployments.
Kafka Streams:
- KIP-339 improves Kafka Streams' error-handling capabilities by addressing serialization errors that occur before message production and extending the interface for custom error handling.
- KIP-889 introduces versioned state stores in Kafka Streams for temporal join semantics in stream-to-table joins.
- KIP-904 simplifies table aggregation in Kafka by proposing a change in serialization format to enable one-step aggregation and reduce noise from events with old and new keys/values.
- KIP-914 modifies how versioned state stores are used in Kafka Streams. Versioned state stores may impact different DSL processors in varying ways, see the documentation for details.
Kafka Client:
- KIP-881 is now complete and introduces new client-side assignor logic for rack-aware consumer balancing for Kafka Consumers.
- KIP-887 adds the `EnvVarConfigProvider` implementation to Kafka so custom configurations stored in environment variables can be injected into the system by providing the map returned by `System.getEnv()`.
- KIP 641 introduces the `RecordReader` interface to Kafka's clients module, replacing the deprecated MessageReader Scala trait.
EPISODE LINKS