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

Abierto
#325 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

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

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.

Descripción

enhancement
Search before asking
  • I searched in the issues and found nothing similar.
Motivation
Motivation

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

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!
Lenguaje dominante
C++
Estrellas
65
Forks
29
Merge medio
2 d 30 min
PR fusionados (30 d)
77

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/paimon-cpp

Todos los issues de apache/paimon-cpp

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.