LuciferYang opened a new issue, #13991:
URL: https://github.com/apache/gravitino/issues/13991

   ### Version
   
   main branch
   
   ### Describe what's wrong
   
   `HDFSFileSystemProxy.initKerberosUgi` builds a `KerberosClient` with 
credential refresh enabled, and `login()` starts a `kerberos-ticket-refresh-N` 
thread that calls `checkTGTAndReloginFromKeytab` every check interval. The 
proxy does not keep the client, and the `close()` hook that `intercept` calls 
after `FileSystem.close()` is empty, so the thread keeps running until the JVM 
exits.
   
   With a Kerberos HDFS fileset catalog, the server closes these file systems 
when its file system cache evicts an entry after an hour without access, when 
the catalog is altered or expires, and on every connection test. Each close 
leaves one more refresh thread behind. GVFS uses the same proxy.
   
   ### Error message and/or stacktrace
   
   No error is reported. The `kerberos-ticket-refresh-*` threads accumulate in 
the server.
   
   ### How to reproduce
   
   1. Create a fileset catalog on HDFS with `authentication.type=kerberos`.
   2. Run the connection test, or access a fileset and let the file system 
cache entry expire, a few times.
   3. Each round adds a `kerberos-ticket-refresh-*` thread that never stops.
   
   ### Additional context
   
   _No response_
   


-- 
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]

Reply via email to