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]

Reply via email to