Skip to content

feat(core): support per-column maximum sequence numbers - #247

Merged
lxy-9602 merged 4 commits into
apache:mainfrom
Zouxxyy:feat/paimon-2.1-metadata-compatibility
Aug 27, 2026
Merged

feat(core): support per-column maximum sequence numbers#247
lxy-9602 merged 4 commits into
apache:mainfrom
Zouxxyy:feat/paimon-2.1-metadata-compatibility

Conversation

@Zouxxyy

@Zouxxyy Zouxxyy commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Purpose

Align Paimon C++ DataFileMeta serialization with the per-column maximum sequence metadata introduced by apache/paimon#9313.

  • Append the nullable _WRITE_COLS_SEQUENCES field.
  • Bump DataSplit to version 9 and CommitMessage to version 13.
  • Preserve compatibility with existing payloads through the legacy 20-field DataFileMeta serializer.

Tests

  • cmake --build build-pr --target paimon-core-test paimon-global-index-test -j 8
  • Relevant serialization and compatibility tests: 65/65 passed.
  • uvx pre-commit run --all-files

API and Format

No public header API changes. The serialized DataFileMeta format gains one nullable field. Older DataSplit and CommitMessage payloads remain readable through their legacy serializers.

Documentation

No user-facing documentation changes are required. This mirrors the Apache Paimon Java metadata schema.

Generative AI tooling

Generated-by: Codex (GPT-5) and Claude Code.

Comment thread src/paimon/core/table/source/data_split_test.cpp
Comment thread src/paimon/core/io/data_file_meta_write_cols_legacy_serializer.cpp Outdated
lxy-9602
lxy-9602 previously approved these changes Aug 26, 2026

@lxy-9602 lxy-9602 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@lxy-9602
lxy-9602 requested a review from lszskye August 26, 2026 09:17
Comment thread src/paimon/core/io/data_file_meta.h Outdated
Comment thread src/paimon/core/io/data_file_meta.h
Comment thread src/paimon/core/io/data_file_meta_write_cols_legacy_serializer.cpp
Comment thread src/paimon/core/io/data_file_meta_serializer_test.cpp Outdated
Zouxxyy and others added 4 commits August 27, 2026 12:59
Align DataFileMeta serialization with the per-column maximum sequence metadata added in Apache Paimon. Bump DataSplit and CommitMessage versions while retaining legacy readers for existing payloads.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
AI-Model: gpt-5
AI-Contributed/Feature: 359/359
AI-Contributed/UT: 54/54
Define the legacy 20-field layout explicitly and add Java-generated DataSplit v9 and CommitMessage v13 compatibility fixtures from apache/paimon@8cbd3847d6.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
AI-Model: gpt-5
AI-Contributed/Feature: 37/37
AI-Contributed/UT: 83/83
Require DataFileMeta callers to supply column sequence metadata explicitly. Align the field contract with Java and keep the write-cols legacy serializer read-only.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
AI-Model: gpt-5
AI-Contributed/Feature: 113/113
AI-Contributed/UT: 698/698
Keep the late-materialization integration test compatible with the explicit DataFileMeta constructor after rebasing onto the latest main.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
AI-Model: gpt-5
AI-Contributed/Feature: 0/0
AI-Contributed/UT: 3/3
@Zouxxyy
Zouxxyy force-pushed the feat/paimon-2.1-metadata-compatibility branch from b935484 to 34a1412 Compare August 27, 2026 05:09
@lszskye

lszskye commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

+1

@lxy-9602 lxy-9602 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@lxy-9602
lxy-9602 merged commit b2e5fba into apache:main Aug 27, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants