diff --git a/docs/streams/upgrade-guide.html b/docs/streams/upgrade-guide.html index b668ba5c150b6..1501a4bc5d1fc 100644 --- a/docs/streams/upgrade-guide.html +++ b/docs/streams/upgrade-guide.html @@ -65,16 +65,6 @@
- Downgrading from 3.0.x or newer version to 2.8.x or older version needs special attention: - Since 3.0.0 release, Kafka Streams uses a newer RocksDB version whose on-disk format changed. - This means that old versioned RocksDB would not be able to recognize the bytes written by that newer versioned RocksDB, - and hence it is harder to downgrade Kafka Streams with version 3.0.0 or newer to older versions in-flight. - Users need to wipe out the local RocksDB state stores written by the new versioned Kafka Streams before swapping in the - older versioned Kafka Streams bytecode, which would then restore the state stores with the old on-disk format from the - changelogs. -
-Downgrading from 3.5.x or newer version to 3.4.x or older version needs special attention: Since 3.5.0 release, Kafka Streams uses a new serialization format for repartition topics. @@ -89,6 +79,16 @@
+ Downgrading from 3.0.x or newer version to 2.8.x or older version needs special attention: + Since 3.0.0 release, Kafka Streams uses a newer RocksDB version whose on-disk format changed. + This means that old versioned RocksDB would not be able to recognize the bytes written by that newer versioned RocksDB, + and hence it is harder to downgrade Kafka Streams with version 3.0.0 or newer to older versions in-flight. + Users need to wipe out the local RocksDB state stores written by the new versioned Kafka Streams before swapping in the + older versioned Kafka Streams bytecode, which would then restore the state stores with the old on-disk format from the + changelogs. +
+
Kafka Streams does not support running multiple instances of the same application as different processes on the same physical state directory. Starting in 2.8.0 (as well as 2.7.1 and 2.6.2),
this restriction will be enforced. If you wish to run more than one instance of Kafka Streams, you must configure them with different values for state.dir.
@@ -132,11 +132,6 @@
- We added a new Serde type Boolean in
- KIP-907
-
A new state store type, versioned key-value stores, was introduced in KIP-889. @@ -151,6 +146,37 @@
+ In addition to KIP-899, KIP-914
+ updates DSL processing semantics if a user opts-in to use the new versioned key-value stores.
+ Using the new versioned key-value stores, DSL processing are able to handle out-of-order data better:
+ For example, late record may be dropped and stream-table joins do a timestamped based lookup into the table.
+ Table aggregations and primary/foreign-key table-table joins are also improved.
+ Note: versioned key-value stores are not supported for global-KTable and don't work with suppress().
+
+ KIP-904 + improves the implemenation of KTable aggregations. In general, an input KTable update triggers a result refinent for two rows; + however, prior to KIP-904, if both refinements happend to the same result row, two independent updates to the same row are applied, resulting in spurious itermediate results. + KIP-904 allows us to detect this case, and to only apply a single update avoiding spurious intermediate results. +
+ +
+ Error handling is improved via KIP-399.
+ The existing ProductionExceptionHandler now also covers serialization errors.
+
+ We added a new Serde type Boolean in
+ KIP-907
+
+ KIP-884
+ adds a new config default.client.supplier that allows to use a custom KafkaClientSupplier without any code changes.
+
The semantics of left/outer stream-stream join got improved via diff --git a/docs/upgrade.html b/docs/upgrade.html index 7ddb1f38a865b..74bcab7b75ccf 100644 --- a/docs/upgrade.html +++ b/docs/upgrade.html @@ -28,6 +28,16 @@
ProductionExceptionHandler is improved via
+ KIP-399,
+ now also covering serialiation errors.
use.incremental.alter.configs is introduced to allow users to control which API to use.