Skip to content

Add bolt support for paimon#8

Merged
WangGuangxin merged 1 commit intoWangGuangxin:add_bolt_backendfrom
ZacBlanco:bolt-paimon
Mar 12, 2026
Merged

Add bolt support for paimon#8
WangGuangxin merged 1 commit intoWangGuangxin:add_bolt_backendfrom
ZacBlanco:bolt-paimon

Conversation

@ZacBlanco
Copy link

This change introduces support for paimon in the bolt backend

The following changes were made

  • PaimonScanTransformer is now AbstractPaimonScanTransformer in order to support a other backend's implementation for paimon. Bolt-specific features are now included in an extended class BoltPaimonScanTransformer to facilitate the bolt-specific requirements.

  • Added support for adding extension info from the scan transformer into the advanced_extension field for a ReadRel. Also added protos for the paimon-specific advanced extension which are automatically generated and compiled for both Java and C++ versions.

  • The above also coincides with adding support for passing the "tableParameters" field of a HiveTableHandle when converting the substrait plan into bolt.

  • Added protos specific to paimon splits in order to serialize and deserialize paimon-specific split information from gluten into bolt. Previously this was done in a hacky way using strings and comma-separated lists. This new version uses protobuf both on the Java and C++ side to communicate paimon-specific split information via a LocalFiles' file_format field oneof definition in algebra.proto. One of the new options added is for "PaimonReadOptions" which contains the required paimon information.

  • Added a bolt-specific paimon suite which mirrors all of the previous test cases from the old branch.

@github-actions
Copy link

Run Gluten Clickhouse CI on x86

@WangGuangxin
Copy link
Owner

@ZacBlanco there are conflicts, can you help resolve it?

This change introduces all of the necessary paimon-specific
changes that were included in olap/gluten's master branch
but were not ported over when switching to OSS gluten's
main branch

The following changes were made

- PaimonScanTransformer is now AbstractPaimonScanTransformer
in order to support a other backend's implementation for paimon.
Bolt-specific features are now included in an extended class
BoltPaimonScanTransformer to facilitate the bolt-specific
requirements.

- Added support for adding extension info from the scan
transformer into the advanced_extension field for a ReadRel.
Also added protos for the paimon-specific advanced extension
which are automatically generated and compiled for both Java
and C++ versions.
- The above also coincides with adding support for passing
the "tableParameters" field of a HiveTableHandle when
converting the substrait plan into bolt.

- Added protos specific to paimon splits in order to serialize
and deserialize paimon-specific split information from gluten
into bolt. Previously this was done in a hacky way using
strings and comma-separated lists. This new version uses
protobuf both on the Java and C++ side to communicate
paimon-specific split information via a LocalFiles' file_format
field oneof definition in algebra.proto. One of the new options
added is for "PaimonReadOptions" which contains the required
paimon information.

- Added a bolt-specific paimon suite which mirrors all of
the previous test cases from the master branch.
@ZacBlanco
Copy link
Author

It is fixed now

@github-actions
Copy link

Run Gluten Clickhouse CI on x86

@WangGuangxin WangGuangxin merged commit 6dbdc7c into WangGuangxin:add_bolt_backend Mar 12, 2026
3 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants