twobeeb commented on pull request #9589: URL: https://github.com/apache/kafka/pull/9589#issuecomment-736079387
@ryannedolan I have a preference for your first suggestion (the one for which there is currently a code proposition) because it doesn't alter the behavior of MM2 in any way for existing users. > IMO, we'd ideally skip creating the A->B herder whenever A->B.emit.heartbeats.enabled=false (defaults to true) and A->B.enabled=false (defaults to false). A top-level emit.heartbeats.enabled=false would then disable heartbeats altogether, which would trivially eliminate the extra herders. N.B. this would just be an optimization and wouldn't required a KIP, IMO. That being said, I'm also fine with your latest proposition. It fits perfectly to my personnal use case because topics will be replicated local to central as well as central to local in the near future ; all instanciated herders will then transmit data (and not just beats). Could you confirm and/or elaborate on the behavior you want to see when playing with ``emit.heartbeats.enabled`` ? I guess that'd be good test cases : **Simple A to B** ```` A->B.enabled=true ```` Expected : 2 herders **A to B and A to C** ```` clusters=A, B, C A->B.enabled=true A->C.enabled=true ```` Expected : 4 herders (AB BA AC CA) **Disabled heartbeats** ```` clusters=A, B, C A->B.enabled=true A->B.emit.heartbeats.enabled=false B->A.emit.heartbeats.enabled=false A->C.enabled=true A->C.emit.heartbeats.enabled=false C->A.emit.heartbeats.enabled=false ```` Expected : 4 herders (2 of which are unused, but still much better than N*N-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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org