apache / apache/paimon-cpp

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

Ouverte
#325 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
C++
Étoiles
65
Forks
25
Merge moyen
2 j 12 h
PR mergées (30 j)
80

Description

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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par suivre la gestion des vecteurs de suppression dans include/paimon/defs.h et DeletionVector::Read, puis examinez le chemin de lecture/écriture de BitmapDeletionVector et RoaringBitmap32. Comparez le comportement existant de bitmap32 avec le nombre magique de bitmap64 et les propriétés Java Paimon décrites dans l’issue. Le travail est terminé lorsque Paimon C++ peut lire les vecteurs de suppression bitmap64 produits par Java et en produire des compatibles avec Iceberg.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
databases
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.