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)

Reply via email to