Skip to content

[core] Reject overlapping partial-update sequence groups - #1127

Merged
JingsongLi merged 1 commit into
apache:mainfrom
reswqa:partial-update-sequence-group-overlap
Oct 16, 2026
Merged

JingsongLi merged 1 commit into
apache:mainfrom
reswqa:partial-update-sequence-group-overlap

Conversation

@reswqa

@reswqa reswqa commented Oct 14, 2026

Copy link
Copy Markdown
Member

Purpose

Rust currently accepts fields.<ordering-fields>.sequence-group definitions whose ordering fields overlap across different groups, e.g. fields.s.sequence-group=a together with fields.t,s.sequence-group=b. Ownership of the shared ordering field is then ambiguous, and which group's comparator governs it is an accident of option iteration. btw, Java rejects such configurations with error message.

Brief change log

  • rejects such configurations in validated_sequence_groups.

Tests

  • New unit test covers containment (s vs t,s), partial overlap (a,b vs b,c) and permuted duplicates (a,b vs b,a), asserting the error names the shared field and both option keys.
  • cargo test -p paimon passed. Related integration suites passed.
  • cargo fmt -p paimon -- --check and cargo clippy -p paimon --all-targets --features fulltext,vortex -- -D warnings pass.

API and Format

No API or storage format changes.

Documentation

No Rust doc change.

@JunRuiLee JunRuiLee closed this Oct 16, 2026
@JunRuiLee JunRuiLee reopened this Oct 16, 2026

@JunRuiLee JunRuiLee left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@JingsongLi
JingsongLi merged commit 7dd674b into apache:main Oct 16, 2026
31 of 32 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