OmniaGM commented on PR #15775:
URL: https://github.com/apache/kafka/pull/15775#issuecomment-2075131518

   > just curios. Why moving to raft module can cause circle dependencies?
   Currently raft doesn't depend of core or server but I just fear that mixing 
quorum raft and KRaft mode related classes in same module might led to 
situations where we hit this issue when we start to move things more and more 
out of core. One example I have in mind is `KafkaRaftManager` 
   - `KafkaConfig` depends on `RaftConfig` for raft configs 
   - `KafkaRaftManager` depend on `KafkaConfig` and `RaftConfig` and it is used 
by `BrokerServer` and `ControllerServer` 
   - If we start to move related kraft classes to raft module like 
`KafkaRaftManager` this will be tricky as now 
`org.apache.kafka.raft.KafkaRaftManager` needs 
`org.apache.kafka.server.config.KafkaConfig`,  
`org.apache.kafka.server.config.KafkaConfig` needs 
`org.apache.kafka.raft.RaftConfig` and `org.apache.kafka.server.BrokerServer` 
needs `org.apache.kafka.raft.KafkaRaftManager`
   
   Also one other thing to notice is at the moment `RaftConfig` signature 
accept `AbstractConfig` instead of `KafkaConfig` and it redefine the getters 
for all raft configs instead of using `KafkaConfig.quorum*` methods which at 
the moment aren't used at all except `KafkaConfig.quorumRequestTimeoutMs`.
   


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