From 9ed5e7ecf2b74d55a940dda60f1f911564af1e85 Mon Sep 17 00:00:00 2001 From: "Matthias J. Sax" Date: Fri, 17 May 2019 20:18:39 +0200 Subject: [PATCH 1/4] MINOR: add Kafka Streams upgrade notes for 2.3 release --- docs/streams/upgrade-guide.html | 42 +++++++++++++++++++++++++++++++++ docs/upgrade.html | 10 ++++++++ 2 files changed, 52 insertions(+) diff --git a/docs/streams/upgrade-guide.html b/docs/streams/upgrade-guide.html index e07b5a9acd844..68826f504f977 100644 --- a/docs/streams/upgrade-guide.html +++ b/docs/streams/upgrade-guide.html @@ -70,6 +70,48 @@

Upgrade Guide and API Changes

More details about the new config StreamsConfig#TOPOLOGY_OPTIMIZATION can be found in KIP-295.

+

Streams API changes in 2.3.0

+

+ To improve operator semantics, new store types are added that allow storing an additional timestamp per key-value pair or window. + Some DSL operators (for example KTables) are using those new stores. + Hence, you can now receive the last update timestamp via Interactive Queries if you change the QueryableStoreType. + While this change is mainly transparent to the user, there are some corner cases that may require code changes: + Caution: If you receive an untyped store and use a cast, you might need to update your code to cast to the correct type. + Additionally, TopologyTestDriver#getStateStore() only returns non-built-in stores and throws an exception if a built-in store is accessed. + For more details please read KIP-258. +

+ +

+ To improve type safety, a new operator KStream#flatTransformValues is added. + For more details please read KIP-313. +

+ +

+ In previous release, Kafka Streams only shipped with a built-in in-memory key-value store. + In this release, in-memory window store (KIP_428) + and in-memory session store (KIP-445) are added. +

+ +

+ Kafka Streams used to set the configuration parameter max.poll.interval.ms to Interger.MAX_VALUE. + In default value is removed and Kafka Streams uses the consumer default value now. + For more details please read KIP-442. +

+ +

+ Default configuration for repartition topic was changed: + The segment size for index files (segment.index.bytes) is no longer 50MB, but uses the cluster default. + Similarly, the configuration segment.ms in no longer 10 minutes, but uses the cluster default configuration. + Lastly, the retention period (retention.ms) is changed from Long.MAX_VALUE to -1 (infinite). + For more details please read KIP-443. +

+ +

+ To avoid memory leaks, RocksDBConfigSetter has a new close() method that is called on shutdown. + Users should implement this method to release any memory used by RocksDB config objects, by closing those objects. + For more details please read KIP-453. +

+

Streams API changes in 2.3.0

Version 2.3.0 adds the Suppress operator to the kafka-streams-scala Ktable API.

diff --git a/docs/upgrade.html b/docs/upgrade.html index 1828ab7813991..be9886cb990e2 100644 --- a/docs/upgrade.html +++ b/docs/upgrade.html @@ -19,6 +19,16 @@