From 90d0fd51d1e73d1bb93ba304c72972a515908a40 Mon Sep 17 00:00:00 2001
From: Bill Bejeck WindowBytesStoreSupplier#segments() was deprecated and replaced with WindowBytesStoreSupplier#segmentInterval().
If you implement custom window store, you need to update your code accordingly.
- Finally, Stores#persistentWindowStore(...) were deprecated and replaced with a new overload that does not allow to specify the number of segments any longer.
+ Finally, Stores#persistentWindowStore(...) were deprecated and replaced with a new overload that does not allow to specify the number of segments any longer.
For more details, see KIP-319
(note: KIP-328 and
- KIP-358 'overlap' with KIP-319).
+ KIP-358 'overlap' with KIP-319).
+
+ We've added an overloaded StreamsBuilder#build method that accepts an instance of java.util.Properties with the intent of using the
+ StreamsConfig#TOPOLOGY_OPTIMIZATION config added in Kafka Streams 2.0. Before 2.1, when building a topology with
+ the DSL, Kafka Streams writes the physical plan as the user makes calls on the DSL. Now by providing a java.util.Properties instance when
+ executing a StreamsBuilder#build call, Kafka Streams can optimize the physical plan of the topology, provided the StreamsConfig#TOPOLOGY_OPTIMIZATION
+ config is set to StreamsConfig#OPTIMIZE. By setting StreamsConfig#OPTIMIZE in addition to the KTable optimization of
+ reusing the source topic as the changelog topic, the topology may be optimized to merge redundant repartition topics into one
+ repartition topic. The original no parameter version of StreamsBuilder#build is still available for those who wish to not
+ optimize their topology. Note that enabling optimization of the topology may require you to do an application reset when redeploying the application. For more
+ details, see KIP-312