apache / apache/paimon-cpp

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

Offen
#325 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
C++
Sterne
65
Forks
25
Ø Merge
2 T. 12 Std.
Gemergte PRs (30 T.)
80

Beschreibung

### 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!

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die Verarbeitung von Löschvektoren durch include/paimon/defs.h und DeletionVector::Read nachzuverfolgen, und untersuche anschließend den Lese-/Schreibpfad von BitmapDeletionVector und RoaringBitmap32. Vergleiche das bestehende Verhalten von bitmap32 mit der Magic Number von bitmap64 und den im Issue beschriebenen Java-Paimon-Eigenschaften. Die Aufgabe ist abgeschlossen, wenn Paimon C++ von Java erzeugte bitmap64-Löschvektoren lesen und Iceberg-kompatible erzeugen kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
databases
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.