apache / apache/arrow-rs

Support arrow-flight WASM

Open
#5,880 14 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
3.6k
Forks
1.3k
Avg merge
2d 18h
Merged PRs (30d)
169

Description

**Describe the bug**
One cannot compile a flight-rpc client for a wasm target, and feature flags does not resolve the issue.

This is due to problematics packages socket2 and mio, for which socket2 is present in tonic where it doesn't cancel it out for wasm targets.

**To Reproduce**
1. Create an absolute bare bones flight-rpc client e.g. list flights.
2. Compile it to a wasm target, and the build fails due to socket2 and mio.

**Expected behavior**
Able to run flight-rpc client in rust in the browser (wasm). Particularly given Typescript doesn't support it, so it's one of the only viable options.

**Additional context**
Lots of manual github patching hell and feature flags did not break through this, hence I'm raising. If anyone is able to assist will be a major help. Thanks heaps.

Contributor guide

Open the contributing guide

Research direction

Start with the bare-bones Flight RPC client described in the issue and reproduce its WASM build failure. Trace how tonic brings in socket2 and mio for the WASM target; done means a Rust Flight RPC client can compile and run in the browser without manual dependency patching or feature-flag workarounds.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
api, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.