Skip to content

[table] Add row id reassign support#343

Closed
leaves12138 wants to merge 1 commit into
apache:mainfrom
leaves12138:support-de-reassign-row-id
Closed

[table] Add row id reassign support#343
leaves12138 wants to merge 1 commit into
apache:mainfrom
leaves12138:support-de-reassign-row-id

Conversation

@leaves12138

Copy link
Copy Markdown

What changes were proposed in this pull request?

This PR adds metadata-only row ID reassignment support for data-evolution tables.

The new table API can compact row ID holes within partitioned data-evolution tables by:

  • validating row-tracking.enabled and data-evolution.enabled
  • reading the latest active data manifest entries
  • reassigning non-contiguous partition row ID ranges without rewriting data files
  • rewriting affected data manifests and publishing a replacement manifest list snapshot
  • remapping global index row ranges through the same row ID mapping

Why are the changes needed?

Data-evolution tables may contain partition-local row ID gaps after files are appended or rewritten over time. A metadata-only reassignment keeps row ID ranges compact and keeps global index metadata consistent.

How was this patch tested?

  • cargo fmt --all --check
  • cargo test -p paimon row_id_reassign --lib
  • cargo test -p paimon --lib

@JingsongLi JingsongLi force-pushed the support-de-reassign-row-id branch from 002d8df to 294680b Compare June 16, 2026 04:03
@JingsongLi JingsongLi closed this Jun 16, 2026
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.

2 participants