mimaison commented on code in PR #18998:
URL: https://github.com/apache/kafka/pull/18998#discussion_r1988001109


##########
raft/src/main/java/org/apache/kafka/raft/QuorumConfig.java:
##########
@@ -102,12 +103,12 @@ public class QuorumConfig {
     public static final ConfigDef CONFIG_DEF =  new ConfigDef()
             .define(QUORUM_VOTERS_CONFIG, LIST, DEFAULT_QUORUM_VOTERS, new 
ControllerQuorumVotersValidator(), HIGH, QUORUM_VOTERS_DOC)
             .define(QUORUM_BOOTSTRAP_SERVERS_CONFIG, LIST, 
DEFAULT_QUORUM_BOOTSTRAP_SERVERS, new 
ControllerQuorumBootstrapServersValidator(), HIGH, QUORUM_BOOTSTRAP_SERVERS_DOC)
-            .define(QUORUM_ELECTION_TIMEOUT_MS_CONFIG, INT, 
DEFAULT_QUORUM_ELECTION_TIMEOUT_MS, null, HIGH, QUORUM_ELECTION_TIMEOUT_MS_DOC)
-            .define(QUORUM_FETCH_TIMEOUT_MS_CONFIG, INT, 
DEFAULT_QUORUM_FETCH_TIMEOUT_MS, null, HIGH, QUORUM_FETCH_TIMEOUT_MS_DOC)
-            .define(QUORUM_ELECTION_BACKOFF_MAX_MS_CONFIG, INT, 
DEFAULT_QUORUM_ELECTION_BACKOFF_MAX_MS, null, HIGH, 
QUORUM_ELECTION_BACKOFF_MAX_MS_DOC)
-            .define(QUORUM_LINGER_MS_CONFIG, INT, DEFAULT_QUORUM_LINGER_MS, 
null, MEDIUM, QUORUM_LINGER_MS_DOC)
-            .define(QUORUM_REQUEST_TIMEOUT_MS_CONFIG, INT, 
DEFAULT_QUORUM_REQUEST_TIMEOUT_MS, null, MEDIUM, QUORUM_REQUEST_TIMEOUT_MS_DOC)
-            .define(QUORUM_RETRY_BACKOFF_MS_CONFIG, INT, 
DEFAULT_QUORUM_RETRY_BACKOFF_MS, null, LOW, QUORUM_RETRY_BACKOFF_MS_DOC);
+            .define(QUORUM_ELECTION_TIMEOUT_MS_CONFIG, INT, 
DEFAULT_QUORUM_ELECTION_TIMEOUT_MS, atLeast(1), HIGH, 
QUORUM_ELECTION_TIMEOUT_MS_DOC)
+            .define(QUORUM_FETCH_TIMEOUT_MS_CONFIG, INT, 
DEFAULT_QUORUM_FETCH_TIMEOUT_MS, atLeast(1), HIGH, QUORUM_FETCH_TIMEOUT_MS_DOC)
+            .define(QUORUM_ELECTION_BACKOFF_MAX_MS_CONFIG, INT, 
DEFAULT_QUORUM_ELECTION_BACKOFF_MAX_MS, atLeast(1), HIGH, 
QUORUM_ELECTION_BACKOFF_MAX_MS_DOC)

Review Comment:
   We can't change behaviour in this PR, so if the controller can start today 
with 0 we need to keep that. 
   
   [KAFKA-18837](https://github.com/apache/kafka/pull/18998#top) was 
specifically for `controller.quorum.fetch.timeout.ms` where the config allowed 
0 (or even negative values) but the controller does not start with values < 1.
   
   It seems controllers can start with 0 or maybe even negative values for 
other configurations. I think setting 0 as the lower bound is fine without a 
KIP but I might still be worth dropping an email on the dev list to see what 
people think.
   
   



-- 
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