JimGalasyn commented on code in PR #16313:
URL: https://github.com/apache/kafka/pull/16313#discussion_r1638981274
##########
docs/streams/upgrade-guide.html:
##########
@@ -303,6 +303,61 @@ <h3><a id="streams_api_changes_350"
href="#streams_api_changes_350">Streams API
adds a new config <code>default.client.supplier</code> that allows to
use a custom <code>KafkaClientSupplier</code> without any code changes.
</p>
+ <h3><a id="streams_api_changes_320"
href="#streams_api_changes_320">Streams API changes in 3.2.0</a></h3>
+ <p>
+ 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 <a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-471%3A+Expose+RocksDB+Metrics+in+Kafka+Streams">KIP-471</a>
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 <a
href="/{{version}}/documentation/#kafka_streams_client_monitoring">monitoring
documentation</a>.
+ </p>
+
+ <p>
+ Kafka Streams ships with RocksDB and in-memory store implementations
and user 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.
+ <a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-591%3A+Add+Kafka+Streams+config+to+set+default+state+store">KIP-591</a>
+ adds a new config <code>default.dsl.store</code> that allows to set
the default store for all DSL operators globally.
+ Note, that it is required to pass <code>TopologyConfig</code> to the
<code>StreamsBuilder</code> constructor to make use of this new config.
+ </p>
+
+ <p>
+ For multi-AZ deployments, it is desired to assign StandbyTasks to a
KafkaStreams instance running in a different
+ AZ than the corresponding active StreamTask.
+ <a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-708%3A+Rack+aware+StandbyTask+assignment+for+Kafka+Streams">KIP-708</a>
+ allows to configure Kafka Streams instances with a rack-aware
StandbyTask assignment strategy, by using the new added configs
+ <code>rack.aware.assignment.tags</code> and corresponding
<code>client.tag.<myTag></code>.
+ </p>
+
+ <p>
+ <a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-791%3A+Add+Record+Metadata+to+State+Store+Context">KIP-791</a>
+ adds a new method <code>Optional<RecordMetadata>
StateStoreContext.recordMetadata()</code> to expose
+ record metadata. This helps for example to provide read-your-writes
consistency guarantees in interactive queries.
+ </p>
+
+ <p>
+ <a
href="/documentation/streams/developer-guide/interactive-queries.html">Interactive
Queries</a> 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,
+ <a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-796%3A+Interactive+Query+v2">KIP-796</a>
introduces
+ a completely new IQv2 API, via <code>StateQueryRequest</code> and
<code>StateQueryResult</code> classes,
+ as well as <code>Query</code> and <code>QueryResult</code> interfaces
(plus additional helper classes).
+
+ In addition, multiple built-in query types were added:
<code>KeyQuery</code> for key lookups and
+ <code>RangeQuery</code> (via <a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-805%3A+Add+range+and+scan+query+over+kv-store+in+IQv2">KIP-805</a>)
+ for key-range queries on key-value stores, as well as
<code>WindowKeyQuery</code> and <code>WindowRangeQuery</code>
+ (via <a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-806%3A+Add+session+and+window+query+over+kv-store+in+IQv2">KIP-806</a>)
+ for key and range lookup into windowed stores.
+ </p>
+
+ <p>
+ The Kafka Streams DSL may insert so-called repartition topic for
certain DSL operators to ensure correct partitioning
Review Comment:
```suggestion
The Kafka Streams DSL may insert so-called repartition topics for
certain DSL operators to ensure correct partitioning
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]