Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #249 +/- ##
===========================================
- Coverage 71.22% 71.14% -0.08%
===========================================
Files 376 376
Lines 23762 23787 +25
Branches 2478 2484 +6
===========================================
- Hits 16924 16923 -1
- Misses 6838 6864 +26 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
ad63eeb to
84d7851
Compare
|
@claude[agent] Review |
There was a problem hiding this comment.
Pull request overview
This PR updates the SubToc preloading path in TocHandler to improve robustness around AIO reads by adding timeout-based aio_suspend() handling, additional debug logging, and cleanup-on-exception behavior.
Changes:
- Add a 1s timeout to
aio_suspend()and log when reads appear stalled before retrying. - Add RAII cancellation/reaping for outstanding AIO requests during stack unwinding.
- Update Python test CMake environments to further isolate against globally installed libraries via
FINDLIBS_DISABLE_PACKAGE.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
src/fdb5/toc/TocHandler.cc |
Adds AIO timeout/retry logging and introduces cleanup logic for AIO requests during errors. |
tests/pyfdb/CMakeLists.txt |
Extends test environment variables to disable package-based library discovery. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
95fdcd2 to
61ae463
Compare
|
@claude review |
There was a problem hiding this comment.
Pull request overview
This PR improves robustness/observability of asynchronous SubToc preloading by adding timeout-based stall logging and attempting to ensure AIO requests are cancelled/cleaned up on exceptions, and it adjusts Python test environments to avoid accidentally picking up globally installed dependencies.
Changes:
- Add a 1s
aio_suspend()timeout loop that logs stalled SubToc reads and retries. - Add RAII cleanup for file descriptors and AIO requests during stack unwinding.
- Update
tests/pyfdbCMake test environment to disable package-based findlibs resolution.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| tests/pyfdb/CMakeLists.txt | Adds FINDLIBS_DISABLE_PACKAGE=yes to test environments to avoid using globally installed packages/libs. |
| src/fdb5/toc/TocHandler.cc | Enhances SubToc AIO preload logic with timeout logging and introduces RAII cancellation/reaping on exceptions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Now suspends for up to 1 sec, then logs stall and retries. Also addresses missing error handling and cancellation on exception throwing.
Description
Improved aio handling in SubtocPreloader
Now suspends for up to 1 sec, then logs stall and retries.
Also addresses missing error handling and cancellation on exception
throwing.
Contributor Declaration
By opening this pull request, I affirm the following:
🌈🌦️📖🚧 Documentation FDB 🚧📖🌦️🌈
https://sites.ecmwf.int/docs/dev-section/fdb/pull-requests/PR-249