LuciferYang commented on PR #13166: URL: https://github.com/apache/gravitino/pull/13166#issuecomment-5957054669
Closing this one. The double close is real, but it has no observable effect: `HTTPClient.close()` is idempotent (the HttpClient5 pool close is guarded), and `GravitinoClientBase.close()` swallows any second-close exception, so there is no leak, no crash, and no log noise. The OAuth2 and Kerberos token providers are built per client, so nothing shared gets closed twice either. While checking this I did find a separate and reachable problem in the same file. The `clients` cache closes a client when an entry is evicted (`expireAfterAccess` / `maximumSize`), but `BaseCatalog` keeps that client for the life of the Spark catalog and issues REST calls through it without touching the cache, so those calls never refresh the entry. An eviction can therefore close a transport that is still in use. That deserves its own issue rather than being folded in here. -- 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]
