JMLX42 commented on PR #7005: URL: https://github.com/apache/opendal/pull/7005#issuecomment-3649687839
## Update: WASIp3 is Now Available After further investigation, **WASI 0.3 (WASIp3) with native async support is now available**: - **Wasmtime v39.0.0** (November 20, 2025) includes initial WASIp3 support - Native async is implemented via the "cooperative multithreading component model proposal" - The Component Model now supports `future<T>` and `stream<T>` types natively ### What This Means Instead of building workarounds for WASIp2's lack of async, the wasi-fs service could be updated to target WASIp3: | Approach | Target | Async Support | Operator Compatibility | |----------|--------|---------------|----------------------| | Current | WASIp2 (`wasm32-wasip2`) | None - blocking only | ❌ Requires tokio | | Updated | WASIp3 | Native async in Component Model | ✅ Could work with standard Operator | ### Recommendation Consider updating wasi-fs to target WASIp3 instead of building a separate `WasiBlockingOperator`. This would: 1. Use the standard `Operator` API (no special WASI path) 2. Leverage native async support in the Component Model 3. Align with the future direction of WASI The tradeoff is that WASIp3 is newer, so runtime support may be less widespread than WASIp2. However, Wasmtime (the most common WASI runtime) already supports it. **References:** - [Wasmtime v39.0.0 Release Notes](https://github.com/bytecodealliance/wasmtime/releases/tag/v39.0.0) - [Looking Ahead to WASIp3 - Fermyon](https://www.fermyon.com/blog/looking-ahead-to-wasip3) -- 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]
