apache / apache/paimon-cpp

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

Abierto
#325 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
C++
Estrellas
65
Forks
25
Merge medio
2 d 12 h
PR fusionados (30 d)
80

Descripción

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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza siguiendo el manejo de los vectores de eliminación a través de include/paimon/defs.h y DeletionVector::Read; después, inspecciona la ruta de lectura/escritura de BitmapDeletionVector y RoaringBitmap32. Compara el comportamiento existente de bitmap32 con el número mágico de bitmap64 y las propiedades de Java Paimon descritas en el issue. Se considera terminado cuando Paimon C++ pueda leer vectores de eliminación bitmap64 producidos por Java y producir vectores compatibles con Iceberg.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
databases
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.