apache / apache/paimon-cpp

[Feature] Support 64-bit deletion vectors in Paimon C++

Aperta
#325 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
C++
Stelle
65
Fork
25
Merge medio
2g 12h
PR unite (30g)
80

Descrizione

### Search before asking

- [x] I searched in the [issues](https://github.com/apache/paimon-cpp/issues) and found nothing similar.

### Motivation

### Motivation

Java Paimon supports both 32-bit and 64-bit deletion vectors through:

```properties
deletion-vectors.enabled=true
deletion-vectors.bitmap64=true

Paimon C++ currently exposes the deletion-vectors.bitmap64 option, but bitmap64 deletion vectors are not implemented:
- include/paimon/defs.h marks bitmap64 DV as unsupported.
- DeletionVector::Read recognizes the bitmap64 magic number but returns NotImplemented.
- Only BitmapDeletionVector, backed by RoaringBitmap32, is currently used for deletion-vector reads and writes.
As a result, Paimon C++ cannot read tables containing bitmap64 deletion vectors produced by Java Paimon, and cannot produce Iceberg-compatible deletion vectors.

### Solution

_No response_

### Anything else?

_No response_

### Are you willing to submit a PR?

- [x] I'm willing to submit a PR!

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia tracciando la gestione dei deletion vector attraverso include/paimon/defs.h e DeletionVector::Read, quindi esamina il percorso di lettura/scrittura di BitmapDeletionVector e RoaringBitmap32. Confronta il comportamento esistente di bitmap32 con il magic number di bitmap64 e le proprietà Java Paimon descritte nell’issue. Il lavoro è completato quando Paimon C++ può leggere deletion vector bitmap64 prodotti da Java e produrne di compatibili con Iceberg.

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

Valutazione

Stack tecnologico
cpp
Ambito
databases
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.