apache / apache/datafusion

Add support for targets with 32-bit ptrs

Aperta
#273 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Rust
Stelle
9.3k
Fork
2.4k
Merge medio
3g 11h
PR unite (30g)
362

Descrizione

**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
When [testing Ballista on a Raspberry Pi cluster](https://github.com/apache/arrow-datafusion/issues/243) using a 32-bit OS, it was noted that whilst we don't _officially_ support 32-bit builds at present, we only actually have one specific test case that fails for that arch. To ensure our continued robustness across architectures, I'd like to add some minimal CI support to ensure that this doesn't slip.

**Describe the solution you'd like**
- Add a new CI check that runs the tests using a 32-bit Linux build
- Fix any existing arch-related assumptions in the codebase (e.g. hardcoding ptr sizes at 8 bytes instead of `std::mem::size_of::()`)

**Describe alternatives you've considered**
- Explicitly disallowing compilation for 32-bit targets: this might impact on future possibilities like targeting wasm32 for Rust-in-browser use cases (less important for DataFusion than Arrow perhaps, but I can personally envisage at least one use case for this)
- Doing nothing: this feels lazy 🤷‍♂️

**Additional context**
This work will depend on apache/arrow-rs#262 (equivalent work for Arrow proper).

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia esaminando la configurazione CI esistente e il test che fallisce sulle destinazioni a 32 bit, quindi verifica la dipendenza da apache/arrow-rs#262. Individua le assunzioni codificate sulla dimensione dei puntatori, come i valori da 8 byte, aggiungi un job di test Linux a 32 bit e conferma che la suite di test passi per questa destinazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
build-system, ci-cd
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.