datafusion-contrib / datafusion-contrib/liquid-cache
Does not build on MacOS due to `io_uring`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 452
- Forks
- 51
- Avg merge
- 3h 10m
- Merged PRs (30d)
- 12
Description
Currently io_uring is not gated behind a feature. This is causing Mac OS builds to fail. I suspect that normally Liquid Cache is meant to run on Linux hardware, but, for a good developer experience it would be desirable to run on Mac OS. Also, not all linux kernel versions support io_uring. Running cargo tree shows that a good portion of the project relies on it without any form of feature gate or platform specification.
> cargo tree -i io-uring
io-uring v0.7.11
└── t4 v0.1.3
├── liquid-cache v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/src/core)
│ ├── liquid-cache-benchmarks v0.0.0 (/Users/devan/Documents/OSS/liquid-cache/benchmark)
│ ├── liquid-cache-datafusion v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/src/datafusion)
│ │ ├── liquid-cache-benchmarks v0.0.0 (/Users/devan/Documents/OSS/liquid-cache/benchmark)
│ │ ├── liquid-cache-datafusion-local v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/src/datafusion-local)
│ │ │ ├── examples v0.0.0 (/Users/devan/Documents/OSS/liquid-cache/examples)
│ │ │ └── liquid-cache-benchmarks v0.0.0 (/Users/devan/Documents/OSS/liquid-cache/benchmark)
│ │ └── liquid-cache-datafusion-server v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/src/datafusion-server)
│ │ ├── examples v0.0.0 (/Users/devan/Documents/OSS/liquid-cache/examples)
│ │ └── liquid-cache-benchmarks v0.0.0 (/Users/devan/Documents/OSS/liquid-cache/benchmark)
│ ├── liquid-cache-datafusion-local v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/src/datafusion-local) (*)
│ ├── liquid-cache-datafusion-server v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/src/datafusion-server) (*)
│ └── liquid-cache-fuzz v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/fuzz)
├── liquid-cache-datafusion v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/src/datafusion) (*)
├── liquid-cache-datafusion-local v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/src/datafusion-local) (*)
└── liquid-cache-datafusion-server v0.1.12 (/Users/devan/Documents/OSS/liquid-cache/src/datafusion-server) (*)
See: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies & https://doc.rust-lang.org/cargo/reference/features.html
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the Cargo manifests for liquid-cache and the workspace crates listed by cargo tree -i io-uring, then review Cargo's platform-specific dependency and feature documentation. Run the dependency tree and a macOS build to identify every path pulling in io-uring. Done means the affected macOS builds succeed without compiling io-uring, while supported Linux builds retain the required functionality.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, rust
- Domain
- build-system, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100