alexanderbianchi opened a new pull request, #3577: URL: https://github.com/apache/iceberg-rust/pull/3577
## Which issue does this PR close? No linked issue; draft for API review. ## What changes are included in this PR? Add `Runtime::new_with_handles(io_handle, cpu_handle)` for applications that receive Tokio handles but do not own or have references to the underlying runtimes. The existing constructors require `&tokio::runtime::Runtime`, and the fields needed to construct an Iceberg runtime directly are private. This is additive: existing constructors and runtime lifetime requirements are unchanged. The caller must keep both Tokio runtimes alive. This extracts the handle-construction API carried in the Apache-licensed [DataDog fork](https://github.com/DataDog/iceberg-rust/commit/ab6a8421fd0ef4a1f87fe12bb9f5d72902990f8d). General FileIO scheduling is separate; this PR does not change where existing operations run. ## Are these changes tested? - A regression test supplies handles for separately named I/O and CPU runtimes and verifies that each handle runs work on the expected thread. - `cargo test -p iceberg --lib --all-features`: 2,087 passed, 1 existing ignored. - `cargo clippy -p iceberg --all-targets --all-features -- -D warnings`: passed. - `cargo fmt --all` and public API regeneration completed; the API snapshot has one additive method. ## AI Disclosure AI assistance was used to extract the change, write the regression test, and prepare this description. Local tests and Clippy were run. This is intentionally a draft for author and maintainer review of the API. -- 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]
