You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Rajini Sivaram (Jira)" <ji...@apache.org> on 2021/12/02 22:28:00 UTC

[jira] [Resolved] (KAFKA-13461) KafkaController stops functioning as active controller after ZooKeeperClient auth failure

     [ https://issues.apache.org/jira/browse/KAFKA-13461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajini Sivaram resolved KAFKA-13461.
------------------------------------
    Fix Version/s: 3.1.0
                   3.0.1
         Reviewer: Jun Rao
       Resolution: Fixed

> KafkaController stops functioning as active controller after ZooKeeperClient auth failure
> -----------------------------------------------------------------------------------------
>
>                 Key: KAFKA-13461
>                 URL: https://issues.apache.org/jira/browse/KAFKA-13461
>             Project: Kafka
>          Issue Type: Bug
>          Components: zkclient
>            Reporter: Vincent Jiang
>            Assignee: Rajini Sivaram
>            Priority: Major
>             Fix For: 3.1.0, 3.0.1
>
>
> When java.security.auth.login.config is present, but there is no "Client" section,  ZookeeperSaslClient creation fails and raises LoginExcpetion, result in warning log:
> {code:java}
> WARN SASL configuration failed: javax.security.auth.login.LoginException: No JAAS configuration section named 'Client' was found in specified JAAS configuration file: '***'. Will continue connection to Zookeeper server without SASL authentication, if Zookeeper server allows it.{code}
> When this happens after initial startup, ClientCnxn enqueues an AuthFailed event which will trigger following sequence:
>  # zkclient reinitialization is triggered
>  # the controller resigns.
>  # Before the controller's ZK session expires, the controller successfully connect to ZK and maintains the current session
>  # In KafkaController.elect(), the controller sets activeControllerId to itself and short-circuits the rest of the elect. Since the controller resigned earlier and also skips the call to onControllerFailover(), the controller is not actually functioning as the active controller (e.g. the necessary ZK watchers haven't been registered).
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)