binarybrain-009 opened a new pull request, #18690:
URL: https://github.com/apache/iceberg/pull/18690

   `SnowflakeCatalog.newTableOps` creates a FileIO for every table load and 
adds each one to the catalog's `CloseableGroup`, so a long-lived catalog keeps 
every FileIO, and its storage clients, until `close()`. This tracks each FileIO 
with core's `FileIOTracker`, as `GlueCatalog` does: a FileIO is closed once its 
`TableOperations` is garbage collected, and the tracker, registered in the 
`CloseableGroup`, closes the rest with the catalog. The tracker closes FileIOs 
asynchronously, so `testClose` now waits for the close, and the module gains 
the Awaitility test dependency. This refreshes the stale #17096 by @thswlsqls.
   
   Closes #17095
   
   Test plan: the new test drops a `TableOperations`, forces GC while loading 
the same table again, and asserts its FileIO is closed while the catalog is 
still open; it times out without the fix. `:iceberg-snowflake:test`, checkstyle 
and spotless pass.
   
   ---
   **AI Disclosure**
   - Model: Claude Opus 5.5
   - Platform/Tool: Claude Code
   - Human Oversight: fully reviewed
   - Prompt Summary: Fix apache/iceberg#17095 (unbounded FileIO accumulation in 
SnowflakeCatalog); the fix and its tests are generated.
   


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