924060929 opened a new pull request, #66914:
URL: https://github.com/apache/doris/pull/66914

   ## Problem
   The Iceberg connector's raw table cache holds Iceberg tables across queries. 
When an entry is invalidated or evicted, the table's per-table FileIO (e.g. 
S3FileIO and its AWS clients/thread pools) is not deterministically closed. It 
is only reclaimed when GC collects the old table, which can leave 
native/off-heap resources resident for a long time when old-gen GC is 
infrequent. This can make FE RSS/thread count grow until cgroup OOM.
   
   ## Change
   - Add optional removal-listener support to the connector-side MetaCacheEntry.
   - Pass a cleanup callback into IcebergTableCache.
   - Close the table FileIO only when the table owns it (Glue/S3Tables, and 
REST when the table does not share the catalog-level FileIO).
   - Keep the existing two-arg constructor as a no-op cleaner for tests/other 
callers.
   
   ## Test
   - Added unit test verifying that invalidating a cached Iceberg table invokes 
the cleanup callback.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to