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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to