mjsax commented on code in PR #14181:
URL: https://github.com/apache/kafka/pull/14181#discussion_r1290483692
##########
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
+ maintaining stickiness is preferred in <code class="docutils
literal"><span class="pre">StickyTaskAssignor</span></code>. In <code
class="docutils literal"><span
class="pre">HighAvailabilityTaskAssignor</span></code>, it has a lower default
value than <code class="docutils literal"><span
class="pre">rack.aware.assignment.traffic_cost</span></code>
Review Comment:
> it has a lower default value
As above.
--
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]