apache / apache/paimon-cpp

[Feature] Reimplement bitmap Global Index for compatibility with Paimon Java

Open
#316 0 comments 0 reactions 1 assignee Claimed by @lxy-9602 View on GitHub
enhancement
Dominant language
C++
Stars
65
Forks
25
Avg merge
2d 12h
Merged PRs (30d)
80

Description

### Search before asking

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

### Motivation

The bitmap Global Index in Paimon Java has undergone a major redesign. The bitmap Global Index currently implemented in Paimon C++ follows the legacy design and file format, so it is no longer compatible with the current Java implementation.

As a result, Paimon C++ cannot reliably read bitmap Global Index files produced by current Paimon Java, and indexes written by the existing C++ implementation are not interoperable with the new Java implementation. The current Paimon C++ documentation therefore marks bitmap Global Index as unsupported.

### Solution

Reimplement bitmap Global Index in Paimon C++ based on the current Paimon Java design and file format. The work should cover:

- The current index reader, writer, and factory behavior.
- Predicate evaluation and null/non-null bitmap semantics.
- Compatibility tests using indexes produced by Paimon Java, together with C++ round-trip tests.
- Cleanup or isolation of the legacy implementation after the new implementation is validated.

I plan to work on this reimplementation and submit a follow-up PR.

### Anything else?

The redesigned Java implementation was introduced in [apache/paimon#8276](https://github.com/apache/paimon/pull/8276) and subsequently integrated with the sorted global-index build path in [apache/paimon#8283](https://github.com/apache/paimon/pull/8283).

### Are you willing to submit a PR?

- [x] I am willing to submit a PR!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.