mjsax commented on code in PR #21000:
URL: https://github.com/apache/kafka/pull/21000#discussion_r2566046038


##########
docs/streams/developer-guide/running-app.html:
##########
@@ -134,6 +135,22 @@ <h3><a class="toc-backref" href="#id8">Determining how 
many application instance
                       <li>Data should be equally distributed across topic 
partitions. For example, if two topic partitions each have 1 million messages, 
this is better than a single partition with 2 million messages and none in the 
other.</li>
                       <li>Processing workload should be equally distributed 
across topic partitions. For example, if the time to process messages varies 
widely, then it is better to spread the processing-intensive messages across 
partitions rather than storing these messages within the same partition.</li>
                   </ul>
+              </div>
+              <div class="section" id="handling-crashes-and-failures">
+                <span 
id="streams-developer-guide-execution-scaling"></span><h2><a 
class="toc-backref" href="#id9">Handling crashes and failures</a><a 
class="headerlink" href="#handling-crashes-and-failures" title="Permalink to 
this headline"></a></h2>
+                <p>There are a few things you can do to reduce the likelihood 
of crashes and failures of your Kafka Streams application.
+                    <ul class="simple">
+                        <li>Kafka Streams has a few configurations that can 
help with resilience in the face of broker failures. They can be found here: <a 
class="reference internal" 
href="config-streams.html#recommended-configuration-parameters-for-resiliency">Recommended
 configuration parameters for resiliency</a></li>

Review Comment:
   > They can be found here
   
   It is bad writing style to use "here". Text should be written as if it was a 
book, with no hyperlinks, and the sentence should still make sense w/o any 
hyperlinks.
   
   So something like:
   > They can be found in the configuration guide.
   
   and just make "configuration guide" the link.



##########
docs/streams/developer-guide/running-app.html:
##########
@@ -134,6 +135,22 @@ <h3><a class="toc-backref" href="#id8">Determining how 
many application instance
                       <li>Data should be equally distributed across topic 
partitions. For example, if two topic partitions each have 1 million messages, 
this is better than a single partition with 2 million messages and none in the 
other.</li>
                       <li>Processing workload should be equally distributed 
across topic partitions. For example, if the time to process messages varies 
widely, then it is better to spread the processing-intensive messages across 
partitions rather than storing these messages within the same partition.</li>
                   </ul>
+              </div>
+              <div class="section" id="handling-crashes-and-failures">
+                <span 
id="streams-developer-guide-execution-scaling"></span><h2><a 
class="toc-backref" href="#id9">Handling crashes and failures</a><a 
class="headerlink" href="#handling-crashes-and-failures" title="Permalink to 
this headline"></a></h2>
+                <p>There are a few things you can do to reduce the likelihood 
of crashes and failures of your Kafka Streams application.
+                    <ul class="simple">
+                        <li>Kafka Streams has a few configurations that can 
help with resilience in the face of broker failures. They can be found here: <a 
class="reference internal" 
href="config-streams.html#recommended-configuration-parameters-for-resiliency">Recommended
 configuration parameters for resiliency</a></li>
+                        <li>Ensure that your application is able to handle 
errors and failures. This includes things like 
+                            configuring the correct exception handlers to 
handle errors such as authorization and deserialization errors, 
+                            and using strategies such as dead letter queues to 
handle "poison pill" records. </li>
+                    </ul>
+                  </p>
+                  <p>If your Kafka Streams application does crash or fail, it 
will first enter the <code class="docutils literal"><span 
class="pre">PENDING_ERROR</span></code> state 
+                    to gracefully close all of its existing resources, and 
then transition into the <code class="docutils literal"><span 
class="pre">ERROR</span></code> state. 
+                    It is important to note that the <code class="docutils 
literal"><span class="pre">PENDING_ERROR</span></code> state is not 
recoverable, and only a 
+                    restart will get the application back to the RUNNING state.

Review Comment:
   Maybe add a sentence about monitoring both states?



-- 
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]

Reply via email to