You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Andras Csaki (Jira)" <ji...@apache.org> on 2022/04/22 07:31:00 UTC

[jira] [Created] (KAFKA-13848) Clients remaing connected after SASL re-authentication fails

Andras Csaki created KAFKA-13848:
------------------------------------

             Summary: Clients remaing connected after SASL re-authentication fails
                 Key: KAFKA-13848
                 URL: https://issues.apache.org/jira/browse/KAFKA-13848
             Project: Kafka
          Issue Type: Bug
          Components: clients
    Affects Versions: 3.1.0
         Environment: https://github.com/acsaki/kafka-sasl-reauth
            Reporter: Andras Csaki


Clients remain connected and able to produce or consume despite an expired OAUTHBEARER token.

The problem can be reproduced using the https://github.com/acsaki/kafka-sasl-reauth project by starting the embedded OAuth2 server and Kafka, then running the long running consumer in OAuthBearerTest and then killing the OAuth2 server thus making the client unable to re-authenticate.

Root cause seems to be SaslServerAuthenticator#calcCompletionTimesAndReturnSessionLifetimeMs failing to set ReauthInfo#sessionExpirationTimeNanos when tokens have already expired (when session life time goes negative), in turn causing KafkaChannel#serverAuthenticationSessionExpired returning false and finally SocketServer not closing the channel.

The issue is observed with OAUTHBEARER but seems to have a wider impact on SASL re-authentication.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)