cmccabe commented on code in PR #12961:
URL: https://github.com/apache/kafka/pull/12961#discussion_r1042763145
##########
core/src/main/scala/kafka/server/BrokerToControllerChannelManager.scala:
##########
@@ -37,42 +38,55 @@ import scala.collection.Seq
import scala.compat.java8.OptionConverters._
import scala.jdk.CollectionConverters._
+case class ControllerInformation(node: Option[Node],
+ listenerName: ListenerName,
+ securityProtocol: SecurityProtocol,
+ saslMechanism: String,
+ isZkController: Boolean)
+
trait ControllerNodeProvider {
def get(): Option[Node]
- def listenerName: ListenerName
- def securityProtocol: SecurityProtocol
- def saslMechanism: String
-}
-
-object MetadataCacheControllerNodeProvider {
- def apply(
- config: KafkaConfig,
- metadataCache: kafka.server.MetadataCache
- ): MetadataCacheControllerNodeProvider = {
- val listenerName = config.controlPlaneListenerName
- .getOrElse(config.interBrokerListenerName)
-
- val securityProtocol = config.controlPlaneSecurityProtocol
- .getOrElse(config.interBrokerSecurityProtocol)
-
- new MetadataCacheControllerNodeProvider(
- metadataCache,
- listenerName,
- securityProtocol,
- config.saslMechanismInterBrokerProtocol
- )
- }
+ def getControllerInfo(): ControllerInformation
}
class MetadataCacheControllerNodeProvider(
- val metadataCache: kafka.server.MetadataCache,
- val listenerName: ListenerName,
- val securityProtocol: SecurityProtocol,
- val saslMechanism: String
+ val metadataCache: ZkMetadataCache,
+ val config: KafkaConfig
) extends ControllerNodeProvider {
+
+ def listenerName(isZkController: Boolean): ListenerName = {
Review Comment:
the metadata cache should know whether we have a zk controller or a kraft
controller, right? So we shouldn't need to pass `isZkController` in to all
these functions?
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]