cadonna commented on a change in pull request #11923:
URL: https://github.com/apache/kafka/pull/11923#discussion_r837379281
##########
File path: docs/streams/developer-guide/config-streams.html
##########
@@ -383,6 +384,13 @@ <h4><a class="toc-backref"
href="#id23">num.standby.replicas</a><a class="header
<td colspan="2">The amount of time in milliseconds to block
waiting for input.</td>
<td>100 milliseconds</td>
</tr>
+ <tr class="row-even"><td>rack.aware.assignment.tags</td>
+ <td>Medium</td>
+ <td colspan="2">List of tag keys used to distribute standby
replicas across Kafka Streams
+ instances. When configured, Kafka Streams will make a
best-effort to distribute the standby tasks over
+ each client tag dimension.</td>
Review comment:
```suggestion
<td colspan="2">List of tag keys used to distribute standby
replicas across Kafka Streams
clients. When configured, Kafka Streams will make a
best-effort to distribute the standby tasks over
client with different tag values.</td>
```
##########
File path: docs/streams/developer-guide/config-streams.html
##########
@@ -677,6 +685,40 @@ <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-tags">
+ <h4><a class="toc-backref"
href="#id34">rack.aware.assignment.tags</a><a class="headerlink"
href="#rack-aware-assignment-tags" title="Permalink to this headline"></a>
+ </h4>
+ <blockquote>
+ <div>
+ <p>
+ This configuration sets list of tag keys used to distribute
standby replicas across Kafka Streams
+ instances. When configured, Kafka Streams will make a
best-effort to distribute the standby tasks over
+ each client tag dimension.
+ </p>
+ <p>
+ Tags for the Kafka Streams instances can be set via <code
class="docutils literal"><span class="pre">client.tag.</span></code>
+ prefix. Example:
+ </p>
+ <pre><code class="language-text">
+Client-1 | Client-2
+_______________________________________________________________________
+client.tag.zone: eu-central-1a | client.tag.zone: eu-central-1b
+client.tag.cluster: k8s-cluster1 | client.tag.cluster: k8s-cluster1
+rack.aware.assignment.tags: zone,cluster | rack.aware.assignment.tags:
zone,cluster
+
+
+Client-3 | Client-4
+_______________________________________________________________________
+client.tag.zone: eu-central-1a | client.tag.zone: eu-central-1b
+client.tag.cluster: k8s-cluster2 | client.tag.cluster: k8s-cluster2
+rack.aware.assignment.tags: zone,cluster | rack.aware.assignment.tags:
zone,cluster</code></pre>
+ <p>
+ In the above example, we have four clients spanned across two
zones (<code class="docutils literal"><span
class="pre">eu-central-1a</span></code>, <code class="docutils literal"><span
class="pre">eu-central-1b</span></code>) and two clusters (<code
class="docutils literal"><span class="pre">k8s-cluster1</span></code>, <code
class="docutils literal"><span class="pre">k8s-cluster2</span></code>).
+ Assuming we have to create a standby task for an active task
located on <code class="docutils literal"><span
class="pre">Client-1</span></code>, Kafka Streams will allocate a standby task
on <code class="docutils literal"><span class="pre">Client-4</span></code>,
which has different <code class="docutils literal"><span
class="pre">zone</span></code> and <code class="docutils literal"><span
class="pre">cluster</span></code> tag values compared to the active task.
Review comment:
```suggestion
In the above example, we have four Kafka Streams clients
across two zones (<code class="docutils literal"><span
class="pre">eu-central-1a</span></code>, <code class="docutils literal"><span
class="pre">eu-central-1b</span></code>) and across two clusters (<code
class="docutils literal"><span class="pre">k8s-cluster1</span></code>, <code
class="docutils literal"><span class="pre">k8s-cluster2</span></code>).
For an active task located on <code class="docutils
literal"><span class="pre">Client-1</span></code>, Kafka Streams will allocate
a standby task on <code class="docutils literal"><span
class="pre">Client-4</span></code>, since <code class="docutils literal"><span
class="pre">Client-4</span></code> has a different <code class="docutils
literal"><span class="pre">zone</span></code> and a different <code
class="docutils literal"><span class="pre">cluster</span></code> than <code
class="docutils literal"><span class="pre">Client-1</span></code>.
```
##########
File path: docs/streams/developer-guide/config-streams.html
##########
@@ -677,6 +685,40 @@ <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-tags">
+ <h4><a class="toc-backref"
href="#id34">rack.aware.assignment.tags</a><a class="headerlink"
href="#rack-aware-assignment-tags" title="Permalink to this headline"></a>
+ </h4>
+ <blockquote>
+ <div>
+ <p>
+ This configuration sets list of tag keys used to distribute
standby replicas across Kafka Streams
+ instances. When configured, Kafka Streams will make a
best-effort to distribute the standby tasks over
+ each client tag dimension.
Review comment:
```suggestion
This configuration sets a list of tag keys used to distribute
standby replicas across Kafka Streams
clients. When configured, Kafka Streams will make a
best-effort to distribute the standby tasks over
clients with different tag values.
```
--
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]