You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "showuon (via GitHub)" <gi...@apache.org> on 2025/07/24 08:38:02 UTC
[PR] MINOR: improve the min.insync.replicas doc [kafka]
showuon opened a new pull request, #20237:
URL: https://github.com/apache/kafka/pull/20237
Along with the change: https://github.com/apache/kafka/pull/17952 ([KIP-966](https://cwiki.apache.org/confluence/display/KAFKA/KIP-966%3A+Eligible+Leader+Replicas)), the semantics of `min.insync.replicas` config has small change, and add some constraints. We should document them clearly.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2248395011
##########
docs/ops.html:
##########
@@ -4498,9 +4498,16 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<p>Downgrades are safe to perform by setting <code>eligible.leader.replicas.version=0</code>.</p>
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
- <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
+ <p>Note that when the ELR feature is enabled:</p>
+ <ul>
+ <li>The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
Review Comment:
in cluster-level => at cluster-level Ditto below.
##########
docs/ops.html:
##########
@@ -4498,9 +4498,16 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<p>Downgrades are safe to perform by setting <code>eligible.leader.replicas.version=0</code>.</p>
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
- <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
+ <p>Note that when the ELR feature is enabled:</p>
+ <ul>
+ <li>The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
+ <li>If the cluster-level <code>min.insync.replicas</code> is updated, even if the value is unchanged, all the ELR state will be cleaned.</li>
+ <li>The previously set <code>min.insync.replicas</code> value at the broker-level config will be removed. Please set in the cluster-level if necessary.</li>
Review Comment:
Should we point out that users may need to take some actions with ELR enabled in upgrade.html too?
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "chia7712 (via GitHub)" <gi...@apache.org>.
chia7712 commented on PR #20237:
URL: https://github.com/apache/kafka/pull/20237#issuecomment-3151452032
> Yes this needs backporting to 4.1. Go ahead if you can, otherwise I'll do it tomorrow morning my time. Thanks!
done https://github.com/apache/kafka/commit/cdc7a4e2b737a614259003028984fce76d6337e7
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2244284366
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
Review Comment:
Added
`The previously set <code>min.insync.replicas</code> value at the broker-level config will be removed.`
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2247192854
##########
docs/ops.html:
##########
@@ -4498,9 +4498,17 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<p>Downgrades are safe to perform by setting <code>eligible.leader.replicas.version=0</code>.</p>
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
- <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
+ <p>Note that when the ELR feature is enabled:</p>
+ <ul>
+ <li>The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.</li>
+ <li>The previously set <code>min.insync.replicas</code> value at the broker-level config will be removed.</li>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
+ <li>The alteration of <code>min.insync.replicas</code> config in broker-level is not allowed.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
+ <li>If <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned.</li>
+ <li>If the cluster default <code>min.insync.replicas</code> is updated, all the ELR fields will be cleaned.</li>
Review Comment:
Good point. Added:
`If the cluster-level <code>min.insync.replicas</code> is updated, even if the value is unchanged, all the ELR state will be cleaned.`
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2250299240
##########
docs/ops.html:
##########
@@ -4498,9 +4498,16 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<p>Downgrades are safe to perform by setting <code>eligible.leader.replicas.version=0</code>.</p>
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
- <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
+ <p>Note that when the ELR feature is enabled:</p>
+ <ul>
+ <li>The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
+ <li>If the cluster-level <code>min.insync.replicas</code> is updated, even if the value is unchanged, all the ELR state will be cleaned.</li>
+ <li>The previously set <code>min.insync.replicas</code> value at the broker-level config will be removed. Please set in the cluster-level if necessary.</li>
Review Comment:
Good point! In the `Notable changes in 4.1.0` section, added:
> The KIP-966 part 1: Eligible Leader Replicas(ELR) will be enabled by default on the new clusters. After the ELR feature enabled, the previously set <code>min.insync.replicas</code> value at the broker-level config will be removed. Please set at the cluster-level if necessary. For further details, please refer to <a href="/{{version}}/documentation.html#eligible_leader_replicas">here</a>.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2244128173
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
Review Comment:
So, it will pick the static config from the active controller? Does the cluster level min ISR change if the active controller switches to a different node with a different static config?
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2245809491
##########
docs/ops.html:
##########
@@ -4498,9 +4498,17 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<p>Downgrades are safe to perform by setting <code>eligible.leader.replicas.version=0</code>.</p>
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
- <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
+ <p>Note that when the ELR feature is enabled:</p>
+ <ul>
+ <li>The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.</li>
+ <li>The previously set <code>min.insync.replicas</code> value at the broker-level config will be removed.</li>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
Review Comment:
The above two line are basically the same. We can just keep one. But it will be useful to inform the user to reset min.insync.replicas as the cluster level if it's previously set only at the broker level.
##########
docs/ops.html:
##########
@@ -4498,9 +4498,17 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<p>Downgrades are safe to perform by setting <code>eligible.leader.replicas.version=0</code>.</p>
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
- <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
+ <p>Note that when the ELR feature is enabled:</p>
+ <ul>
+ <li>The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.</li>
+ <li>The previously set <code>min.insync.replicas</code> value at the broker-level config will be removed.</li>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
+ <li>The alteration of <code>min.insync.replicas</code> config in broker-level is not allowed.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
Review Comment:
Could we group the cluster level changes next to each other?
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "mimaison (via GitHub)" <gi...@apache.org>.
mimaison commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2243374479
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
+ <li>The alter of <code>min.insync.replicas</code> config in broker-level is not allowed.</li>
Review Comment:
`The alter` -> `The alteration`
##########
clients/src/main/java/org/apache/kafka/common/config/TopicConfig.java:
##########
@@ -181,7 +181,8 @@ public class TopicConfig {
"When used together, <code>min.insync.replicas</code> and <code>acks</code> allow you to enforce greater durability guarantees. " +
"A typical scenario would be to create a topic with a replication factor of 3, " +
"set <code>min.insync.replicas</code> to 2, and produce with <code>acks</code> of \"all\". " +
- "This will ensure that a majority of replicas must persist a write before it's considered successful by the producer and it's visible to consumers.";
+ "This will ensure that a majority of replicas must persist a write before it's considered successful by the producer and it's visible to consumers." +
Review Comment:
I think we can stick to present tense: `This ensures that ...`
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
+ <li>The alter of <code>min.insync.replicas</code> config in broker-level is not allowed.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
+ <li>If <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned.</li>
Review Comment:
Can we switch to present tense? Also what does `will be cleaned` means exactly?
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
Review Comment:
`will be removed` -> `is removed`
##########
clients/src/main/java/org/apache/kafka/common/config/TopicConfig.java:
##########
@@ -181,7 +181,8 @@ public class TopicConfig {
"When used together, <code>min.insync.replicas</code> and <code>acks</code> allow you to enforce greater durability guarantees. " +
"A typical scenario would be to create a topic with a replication factor of 3, " +
"set <code>min.insync.replicas</code> to 2, and produce with <code>acks</code> of \"all\". " +
- "This will ensure that a majority of replicas must persist a write before it's considered successful by the producer and it's visible to consumers.";
+ "This will ensure that a majority of replicas must persist a write before it's considered successful by the producer and it's visible to consumers." +
+ "<p> Note that when the Eligible Leader Replicas feature is enabled, the semantics of this config has small changes. Please refer to <a href=\"#eligible_leader_replicas\">the ELR section</a> for more info.</p>";
Review Comment:
`config has small changes` -> `config change`
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
+ <li>The alter of <code>min.insync.replicas</code> config in broker-level is not allowed.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
+ <li>If <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned.</li>
+ <li>If the cluster default <code>min.insync.replicas</code> is updated, all the ELR fields will be cleaned.</li>
Review Comment:
Ditto
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2250298473
##########
docs/ops.html:
##########
@@ -4498,9 +4498,16 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<p>Downgrades are safe to perform by setting <code>eligible.leader.replicas.version=0</code>.</p>
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
- <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
+ <p>Note that when the ELR feature is enabled:</p>
+ <ul>
+ <li>The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
Review Comment:
Updated in the commit: https://github.com/apache/kafka/pull/20237/commits/70957737e845eb2f2addbd7578433ffbe69fb6e0.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2244126836
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
Review Comment:
We probably also want to warn the users that if they previously only set min.insync.replicas at the broker level, once they enable ELR, this info will be lost and they need to reset that at the cluster level.
Is the above correct @CalvinConfluent ?
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2247195116
##########
docs/ops.html:
##########
@@ -4498,9 +4498,17 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<p>Downgrades are safe to perform by setting <code>eligible.leader.replicas.version=0</code>.</p>
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
- <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
+ <p>Note that when the ELR feature is enabled:</p>
+ <ul>
+ <li>The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.</li>
+ <li>The previously set <code>min.insync.replicas</code> value at the broker-level config will be removed.</li>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
Review Comment:
Removed the L4506, and updated to:
`The previously set <code>min.insync.replicas</code> value at the broker-level config will be removed. Please set in the cluster-level if necessary.`
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on PR #20237:
URL: https://github.com/apache/kafka/pull/20237#issuecomment-3125843488
@chia7712 @mimaison , could you have a look when available? I think we should add this in v4.1.0 doc. Thanks.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "mimaison (via GitHub)" <gi...@apache.org>.
mimaison commented on PR #20237:
URL: https://github.com/apache/kafka/pull/20237#issuecomment-3151439439
Yes this needs backporting to 4.1. Go ahead if you can, otherwise I'll do it tomorrow morning my time. Thanks!
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "CalvinConfluent (via GitHub)" <gi...@apache.org>.
CalvinConfluent commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2245856568
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
Review Comment:
> So, it will pick the static config from the active controller?
Yes, the controller will check the static config value when creating the cluster level config.
> Does the cluster level min ISR change if the active controller switches to a different node with a different static config?
No. When the controller looks for the min.isr config value, it follows the order of Topic-Level -> Broker-Level -> Cluster-Level -> Static Config. So if there is a config on the cluster level, the controller will ignore the static configs. Also once the cluster-level config is created, it can only be updated manually through admin client.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2245863225
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
Review Comment:
Thanks, Calvin!
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "mimaison (via GitHub)" <gi...@apache.org>.
mimaison commented on PR #20237:
URL: https://github.com/apache/kafka/pull/20237#issuecomment-3133868988
Thanks for the PR!
While this is an improvement, I still find the new description not very clear. I'll try to make suggestions in the next couple of days.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2244217975
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
Review Comment:
> Does the cluster level min ISR change if the active controller switches to a different node with a different static config?
IIUC, Once the dynamic cluster-level is written, it'll be the value unless manually change. Waiting for @CalvinConfluent 's confirmation.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2244259481
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
+ <li>The alter of <code>min.insync.replicas</code> config in broker-level is not allowed.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
+ <li>If <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned.</li>
Review Comment:
It means the ELR state in the controller side will be empty(reset) because the new updated min ISR makes the existing ELR state invalid. @CalvinConfluent , is my understanding correct?
Is it hard to understand for users? Maybe change to
`If <code>min.insync.replicas</code> is updated for a topic, the ELR state will be reset.`?
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on PR #20237:
URL: https://github.com/apache/kafka/pull/20237#issuecomment-3112578641
@CalvinConfluent @mumrah @cmccabe, please take a look. Thanks.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "chia7712 (via GitHub)" <gi...@apache.org>.
chia7712 commented on PR #20237:
URL: https://github.com/apache/kafka/pull/20237#issuecomment-3151431838
@mimaison Should we backport it to 4.1?
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "chia7712 (via GitHub)" <gi...@apache.org>.
chia7712 merged PR #20237:
URL: https://github.com/apache/kafka/pull/20237
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "chia7712 (via GitHub)" <gi...@apache.org>.
chia7712 commented on PR #20237:
URL: https://github.com/apache/kafka/pull/20237#issuecomment-3113732661
```
> Task :clients:checkstyleMain
[ant:checkstyle] [ERROR] /home/chia7712/project/kafka/clients/src/main/java/org/apache/kafka/common/config/TopicConfig.java:185:223: ';' is preceded with whitespace. [NoWhitespaceBefore]
> Task :clients:checkstyleMain FAILED
```
@showuon could you please fix the build error
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "chia7712 (via GitHub)" <gi...@apache.org>.
chia7712 commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2243367842
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
+ <li>The alter of <code>min.insync.replicas</code> config in broker-level is not allowed.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
+ <li>If <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned.</li>
+ <li>If the cluster default <code>min.insync.replicas</code> is updated, all the ELR fields will be cleaned.</li>
+ </ul>
+ </p>
Review Comment:
this syntax is illegal. Please take a look at following change.
```
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
<p>Note that when the ELR feature is enabled:</p>
<ul>
<li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
<li>The alter of <code>min.insync.replicas</code> config in broker-level is not allowed.</li>
<li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
<li>If <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned.</li>
<li>If the cluster default <code>min.insync.replicas</code> is updated, all the ELR fields will be cleaned.</li>
</ul>
```
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "showuon (via GitHub)" <gi...@apache.org>.
showuon commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2244284999
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
Review Comment:
Added
`The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.`
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "CalvinConfluent (via GitHub)" <gi...@apache.org>.
CalvinConfluent commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2244069549
##########
docs/ops.html:
##########
@@ -4499,8 +4499,15 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
<p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ Note that when the ELR feature is enabled:
+ <ul>
Review Comment:
There is another behavior: when enabling ELR, a cluster level min ISR config will be added if there is not any. The valure is the same as the static config.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: improve the min.insync.replicas doc [kafka]
Posted by "chia7712 (via GitHub)" <gi...@apache.org>.
chia7712 commented on code in PR #20237:
URL: https://github.com/apache/kafka/pull/20237#discussion_r2246024110
##########
docs/ops.html:
##########
@@ -4498,9 +4498,17 @@ <h4 class="anchor-heading"><a id="eligible_leader_replicas_upgrade" class="ancho
<p>Downgrades are safe to perform by setting <code>eligible.leader.replicas.version=0</code>.</p>
<h4 class="anchor-heading"><a id="eligible_leader_replicas_tool" class="anchor-link"></a><a href="#eligible_leader_replicas_tool">Tool</a></h4>
- <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.
- Also note that, if <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned. If cluster default min ISR is updated,
- all the ELR fields will be cleaned.</p>
+ <p>The ELR fields can be checked through the API DescribeTopicPartitions. The admin client can fetch the ELR info by describing the topics.</p>
+ <p>Note that when the ELR feature is enabled:</p>
+ <ul>
+ <li>The cluster-level <code>min.insync.replicas</code> config will be added if there is not any. The value is the same as the static config in the active controller.</li>
+ <li>The previously set <code>min.insync.replicas</code> value at the broker-level config will be removed.</li>
+ <li>The override of <code>min.insync.replicas</code> in broker-level will be removed.</li>
+ <li>The alteration of <code>min.insync.replicas</code> config in broker-level is not allowed.</li>
+ <li>The removal of <code>min.insync.replicas</code> config in cluster-level is not allowed.</li>
+ <li>If <code>min.insync.replicas</code> is updated for a topic, the ELR field will be cleaned.</li>
+ <li>If the cluster default <code>min.insync.replicas</code> is updated, all the ELR fields will be cleaned.</li>
Review Comment:
nit: A `ClearElrRecord` is created even when the `min.insync.replicas` value remains unchanged. Perhaps we could either document the behavior or consider skipping the record generation in such case.
--
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-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org