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