diff --git a/docs/streams/upgrade-guide.html b/docs/streams/upgrade-guide.html index 14544077403..6088524464a 100644 --- a/docs/streams/upgrade-guide.html +++ b/docs/streams/upgrade-guide.html @@ -295,6 +295,61 @@ adds a new config default.client.supplier that allows to use a custom KafkaClientSupplier without any code changes.

+

Streams API changes in 3.2.0

+

+ RocksDB offers many metrics which are critical to monitor and tune its performance. Kafka Streams started to make RocksDB metrics accessible + like any other Kafka metric via KIP-471 in 2.4.0 release. + However, the KIP was only partially implemented, and is now completed with the 3.2.0 release. + For a full list of available RocksDB metrics, please consult the monitoring documentation. +

+ +

+ Kafka Streams ships with RocksDB and in-memory store implementations and users can pick which one to use. + However, for the DSL, the choice is a per-operator one, making it cumbersome to switch from the default RocksDB + store to in-memory store for all operators, especially for larger topologies. + KIP-591 + adds a new config default.dsl.store that enables setting the default store for all DSL operators globally. + Note that it is required to pass TopologyConfig to the StreamsBuilder constructor to make use of this new config. +

+ +

+ For multi-AZ deployments, it is desired to assign StandbyTasks to a KafkaStreams instance running in a different + AZ than the corresponding active StreamTask. + KIP-708 + enables configuring Kafka Streams instances with a rack-aware StandbyTask assignment strategy, by using the new added configs + rack.aware.assignment.tags and corresponding client.tag.<myTag>. +

+ +

+ KIP-791 + adds a new method Optional<RecordMetadata> StateStoreContext.recordMetadata() to expose + record metadata. This helps for example to provide read-your-writes consistency guarantees in interactive queries. +

+ +

+ Interactive Queries allow users to + tap into the operational state of Kafka Streams processor nodes. The existing API is tightly coupled with the + actual state store interfaces and thus the internal implementation of state store. To break up this tight coupling + and allow for building more advanced IQ features, + KIP-796 introduces + a completely new IQv2 API, via StateQueryRequest and StateQueryResult classes, + as well as Query and QueryResult interfaces (plus additional helper classes). + + In addition, multiple built-in query types were added: KeyQuery for key lookups and + RangeQuery (via KIP-805) + for key-range queries on key-value stores, as well as WindowKeyQuery and WindowRangeQuery + (via KIP-806) + for key and range lookup into windowed stores. +

+ +

+ The Kafka Streams DSL may insert so-called repartition topics for certain DSL operators to ensure correct partitioning + of data. These topics are configured with infinite retention time, and Kafka Streams purges old data explicitly + via "delete record" requests, when commiting input topic offsets. + KIP-811 + adds a new config repartition.purge.interval.ms allowing you to configure the purge interval independently of the commit interval. +

+

Streams API changes in 3.1.0

The semantics of left/outer stream-stream join got improved via