mjsax commented on code in PR #20779:
URL: https://github.com/apache/kafka/pull/20779#discussion_r2488433405
##########
docs/streams/upgrade-guide.html:
##########
@@ -108,6 +108,35 @@ <h3 class="anchor-heading"><a id="streams_notable_changes"
class="anchor-link"><
<p>Since 2.6.0 release, Kafka Streams depends on a RocksDB version that
requires MacOS 10.14 or higher.</p>
+ <h3><a id="streams_api_changes_420"
href="#streams_api_changes_420">Streams API changes in 4.2.0</a></h3>
+
+ <p>
+ Kafka Streams now supports Dead Letter Queue (DLQ).
+ A new config <code>errors.deadletterqueue.topic.name</code> allows to
specify the name of the DLQ topic. When set and
<code>DefaultProductionExceptionHandler</code> is used, records that cause
exceptions will be forwarded to the DLQ topic.
+ If a custom exception handler is used, it is up to the custom handler
to build DLQ records to send, in this case, the
<code>errors.deadletterqueue.topic.name</code> configuration has no impact.
+ </p>
+ <p>
+
<code>org.apache.kafka.streams.errors.ProductionExceptionHandler$ProductionExceptionHandlerResponse</code>
is deprecated and replaced by
<code>org.apache.kafka.streams.errors.ProductionExceptionHandler$Response</code>.
+ Methods <code>handle</code> and
<code>handleSerializationException</code> in
<code>org.apache.kafka.streams.errors.ProductionExceptionHandler</code>. are
deprecated and replaced by <code>handleError</code> and
<code>handleSerializationError</code> respectively in order to use the new
<code>Response</code> class.
+ More details can be found in <a
href="https://cwiki.apache.org/confluence/x/HwviEQ">KIP-1034</a>.
+ </p>
+
+ <p>
+ We introduce a new <code>org.apache.kafka.streams.CloseOptions</code>
class which replaces the existing
<code>org.apache.kafka.streams.KafkaStreams$CloseOptions</code>.
Review Comment:
Would be good to add one sentence what the new CloseOption allows users to
do, compare to the old one.
##########
docs/streams/upgrade-guide.html:
##########
@@ -108,6 +108,35 @@ <h3 class="anchor-heading"><a id="streams_notable_changes"
class="anchor-link"><
<p>Since 2.6.0 release, Kafka Streams depends on a RocksDB version that
requires MacOS 10.14 or higher.</p>
+ <h3><a id="streams_api_changes_420"
href="#streams_api_changes_420">Streams API changes in 4.2.0</a></h3>
+
+ <p>
+ Kafka Streams now supports Dead Letter Queue (DLQ).
+ A new config <code>errors.deadletterqueue.topic.name</code> allows to
specify the name of the DLQ topic. When set and
<code>DefaultProductionExceptionHandler</code> is used, records that cause
exceptions will be forwarded to the DLQ topic.
+ If a custom exception handler is used, it is up to the custom handler
to build DLQ records to send, in this case, the
<code>errors.deadletterqueue.topic.name</code> configuration has no impact.
+ </p>
+ <p>
+
<code>org.apache.kafka.streams.errors.ProductionExceptionHandler$ProductionExceptionHandlerResponse</code>
is deprecated and replaced by
<code>org.apache.kafka.streams.errors.ProductionExceptionHandler$Response</code>.
+ Methods <code>handle</code> and
<code>handleSerializationException</code> in
<code>org.apache.kafka.streams.errors.ProductionExceptionHandler</code>. are
deprecated and replaced by <code>handleError</code> and
<code>handleSerializationError</code> respectively in order to use the new
<code>Response</code> class.
Review Comment:
```suggestion
Methods <code>handle</code> and
<code>handleSerializationException</code> in
<code>org.apache.kafka.streams.errors.ProductionExceptionHandler</code> are
deprecated and replaced by <code>handleError</code> and
<code>handleSerializationError</code> respectively in order to use the new
<code>Response</code> class.
```
##########
docs/streams/upgrade-guide.html:
##########
@@ -108,6 +108,35 @@ <h3 class="anchor-heading"><a id="streams_notable_changes"
class="anchor-link"><
<p>Since 2.6.0 release, Kafka Streams depends on a RocksDB version that
requires MacOS 10.14 or higher.</p>
+ <h3><a id="streams_api_changes_420"
href="#streams_api_changes_420">Streams API changes in 4.2.0</a></h3>
+
+ <p>
+ Kafka Streams now supports Dead Letter Queue (DLQ).
+ A new config <code>errors.deadletterqueue.topic.name</code> allows to
specify the name of the DLQ topic. When set and
<code>DefaultProductionExceptionHandler</code> is used, records that cause
exceptions will be forwarded to the DLQ topic.
+ If a custom exception handler is used, it is up to the custom handler
to build DLQ records to send, in this case, the
<code>errors.deadletterqueue.topic.name</code> configuration has no impact.
+ </p>
+ <p>
Review Comment:
We should use a single paragraph per KIP.
##########
docs/streams/upgrade-guide.html:
##########
@@ -108,6 +108,35 @@ <h3 class="anchor-heading"><a id="streams_notable_changes"
class="anchor-link"><
<p>Since 2.6.0 release, Kafka Streams depends on a RocksDB version that
requires MacOS 10.14 or higher.</p>
+ <h3><a id="streams_api_changes_420"
href="#streams_api_changes_420">Streams API changes in 4.2.0</a></h3>
+
+ <p>
+ Kafka Streams now supports Dead Letter Queue (DLQ).
+ A new config <code>errors.deadletterqueue.topic.name</code> allows to
specify the name of the DLQ topic. When set and
<code>DefaultProductionExceptionHandler</code> is used, records that cause
exceptions will be forwarded to the DLQ topic.
+ If a custom exception handler is used, it is up to the custom handler
to build DLQ records to send, in this case, the
<code>errors.deadletterqueue.topic.name</code> configuration has no impact.
Review Comment:
Not sure if "has no impact" is the right phrase to use? -- user can still
access the config and use it, even if I understand that they need to write code
for it.
Wondering if we should add something to the docs (separate PR, or just
filing a Jira for now), explaining how to actually implement a customer handler
correctly?
--
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]