Skip to content

[table] Add row id reassign support#343

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

[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

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.

1 participant