mjsax commented on code in PR #14181: URL: https://github.com/apache/kafka/pull/14181#discussion_r1290482358
########## docs/streams/developer-guide/config-streams.html: ########## @@ -685,6 +688,45 @@ <h4><a class="toc-backref" href="#id33">default.windowed.value.serde.inner</a><a <p>This is discussed in more detail in <a class="reference internal" href="datatypes.html#streams-developer-guide-serdes"><span class="std std-ref">Data types and serialization</span></a>.</p> </div></blockquote> </div> + <div class="section" id="rack-aware-assignment-non-overlap-cost"> + <h4><a class="toc-backref" href="#id37">rack.aware.assignment.non_overlap_cost</a><a class="headerlink" href="#rack-aware-assignment-non-overlap-cost" title="Permalink to this headline"></a></h4> + <blockquote> + <div> + <p> + This configuration sets the cost of moving a task from the original assignment computed either by <code class="docutils literal"><span class="pre">StickyTaskAssignor</span></code> or + <code class="docutils literal"><span class="pre">HighAvailabilityTaskAssignor</span></code>. Together with <code class="docutils literal"><span class="pre">rack.aware.assignment.traffic_cost</span></code>, + they control whether the optimizer favors minimizing cross rack traffic or minimizing the movement of tasks in the existing assignment. If this config is set to a larger value than <code class="docutils literal"><span class="pre">rack.aware.assignment.traffic_cost</span></code>, + the optimizer will try to maintain the existing assignment computed by the task assignor. Note that the optimizer takes the ratio of these two configs into consideration of favoring maintaining existing assignment or minimizing traffic cost. For example, setting + <code class="docutils literal"><span class="pre">rack.aware.assignment.non_overlap_cost</span></code> to 10 and <code class="docutils literal"><span class="pre">rack.aware.assignment.traffic_cost</span></code> to 1 is more likely to maintain existing assignment than setting + <code class="docutils literal"><span class="pre">rack.aware.assignment.non_overlap_cost</span></code> to 100 and <code class="docutils literal"><span class="pre">rack.aware.assignment.traffic_cost</span></code> to 50. + </p> + <p> + The default value is null which means default non_overlap_cost in different assignors will be used. In <code class="docutils literal"><span class="pre">StickyTaskAssignor</span></code>, it has a higher default value than <code class="docutils literal"><span class="pre">rack.aware.assignment.traffic_cost</span></code> which means Review Comment: put `non_overlap_cost` into code markup ########## docs/streams/architecture.html: ########## @@ -167,6 +167,14 @@ <h3 class="anchor-heading"><a id="streams_architecture_recovery" class="anchor-l rack of the active tasks fails. See <code>rack.aware.assignment.tags</code> in the <a href="/{{version}}/documentation/streams/developer-guide/config-streams.html#rack-aware-assignment-tags"><b>Kafka Streams Developer Guide</b></a> section. </p> + <p> + There is also a client side config <code>client.rack</code> which can set the rack for a Kafka Consumer. If broker side also have rack set via <code>broker.rack</code>. Then rack aware task Review Comment: ```suggestion There is also a client config <code>client.rack</code> which can set the rack for a Kafka consumer. If brokers also have their rack set via <code>broker.rack</code>, then rack aware task ``` -- 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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org