baiyiwen created ZOOKEEPER-4948:
-----------------------------------

             Summary: When ZooKeeper client enters AuthFailed state (e.g., due 
to SASL authentication failure),  calling `close()` method does not terminate 
internal SendThread and EventThread.
                 Key: ZOOKEEPER-4948
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4948
             Project: ZooKeeper
          Issue Type: Bug
          Components: java client
    Affects Versions: 3.9.0, 3.7.1, 3.8.0, 3.6.1, 3.4.8
            Reporter: baiyiwen


Problem
When ZooKeeper client enters AuthFailed state (e.g., due to SASL authentication 
failure), 
calling `close()` method does not terminate internal SendThread and EventThread.

Reproduction Steps
1. Configure SASL authentication with invalid credentials
2. Connect to ZooKeeper server
3. Watch receives `KeeperState.AuthFailed` event
4. Call `zookeeper.close()`
5. Observe SendThread/EventThread still running via thread dump

Expected Behavior
All client resources including background threads should be released.

Proposed Fix
Remove state check in close method:
public synchronized void close() throws InterruptedException {
    if (cnxn != null) {
        cnxn.close();
    }
}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to