influxdata / influxdata/datafusion-udf-wasm

Move off nightly for Python guest

Open
#447 0 comments 0 reactions 0 assignees View on GitHub
blocked by upstream
Dominant language
Rust
Stars
20
Forks
3
Avg merge
6h 20m
Merged PRs (30d)
24

Description

# What
#422 (re-)introduced the need to use a nightly compiler for our Python guest. Make this use the stable compiler again.

# Why
Similar to #19:

- Not having to worry about a 2nd compiler version is nice.
- Some of our unstable flags might break during upgrades

# How
The following things have to work on stable first:

- [ ] [`build-std`](https://doc.rust-lang.org/cargo/reference/unstable.html#build-std): required because the std lib shipped with rust isn't built with `-Crelocation-model=pic`, which we need for linking shared libraries
- [ ] [`default-visibility`](https://doc.rust-lang.org/stable/unstable-book/compiler-flags/default-visibility.html#default-visibility): required to drastically shrink the size of the resulting WASM binary, also see https://github.com/bytecodealliance/componentize-py/pull/209

Contributor guide

Open the contributing guide

Research direction

Start by reviewing #422 and the related discussion in #19 to understand why the Python guest currently needs nightly Rust. Check stable support for build-std and default-visibility, including the linked componentize-py pull request #209. Done means the Python guest builds successfully with stable Rust while retaining the required relocation model and acceptably small WASM output.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
build-system, compilers
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
40/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.