MINOR: add Kafka Streams upgrade notes for 2.3 release#6758
Conversation
|
Call for review @guozhangwang @bbejeck @vvcephei @ableegoldman @cadonna @abbccdda Tried to cover all KIP for this release. Hope I did not forget anything. |
|
Should we mention upgrading Rocks somewhere? Not an API change exactly but it exposes some new configs |
| For more details please read <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-453%3A+Add+close%28%29+method+to+RocksDBConfigSetter">KIP-453</a>. | ||
| </p> | ||
|
|
||
| <h3><a id="streams_api_changes_230" href="#streams_api_changes_230">Streams API changes in 2.3.0</a></h3> |
There was a problem hiding this comment.
This was moved to above and should be deleted
| </p> | ||
|
|
||
| <p> | ||
| In previous release, Kafka Streams only shipped with a built-in in-memory key-value store. |
There was a problem hiding this comment.
These are mentioned again below (line 76), you should remove the other comment
|
Updated this. |
vvcephei
left a comment
There was a problem hiding this comment.
A couple of small suggestions. Thanks!
| <p> | ||
| 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 <code>QueryableStoreType</code>. |
There was a problem hiding this comment.
| Hence, you can now receive the last update timestamp via Interactive Queries if you change the <code>QueryableStoreType</code>. | |
| Hence, you can now retrieve the last update timestamp via Interactive Queries if you specify <code>TimestampedWindowStoreType</code> or <code>TimestampedKeyValueStoreType</code>. |
| 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 <code>QueryableStoreType</code>. | ||
| While this change is mainly transparent to the user, there are some corner cases that may require code changes: |
There was a problem hiding this comment.
Maybe a nit, but I feel it's a bit strange to call someone "the user" when you're talking directly to them.
| While this change is mainly transparent to the user, there are some corner cases that may require code changes: | |
| While this change is mainly transparent, there are some corner cases that may require code changes: |
| 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 <code>QueryableStoreType</code>. | ||
| While this change is mainly transparent to the user, there are some corner cases that may require code changes: | ||
| <strong>Caution: If you receive an untyped store and use a cast, you might need to update your code to cast to the correct type.</strong> |
There was a problem hiding this comment.
Maybe we can drop in the actual exception, to improve the time-to-discover the reason, if someone is just searching:
java.lang.ClassCastException: class org.apache.kafka.streams.state.ValueAndTimestamp cannot be cast to class ${actual value type} upon getting a value from the store.
|
Updated this. |
bbejeck
left a comment
There was a problem hiding this comment.
Just one very minor nit, otherwise LGTM
|
|
||
| <p> | ||
| Kafka Streams used to set the configuration parameter <code>max.poll.interval.ms</code> to <code>Interger.MAX_VALUE</code>. | ||
| In default value is removed and Kafka Streams uses the consumer default value now. |
|
Merged to |
Reviewers: A. Sophie Blee-Goldman <sophie@confluent.io>, John Roesler <john@confluent.io>, Bill Bejeck <bill@confluent.io>
Reviewers: A. Sophie Blee-Goldman <sophie@confluent.io>, John Roesler <john@confluent.io>, Bill Bejeck <bill@confluent.io>
Reviewers: A. Sophie Blee-Goldman <sophie@confluent.io>, John Roesler <john@confluent.io>, Bill Bejeck <bill@confluent.io>
More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)