Skip to content

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

Open
reswqa wants to merge 1 commit into
apache:mainfrom
reswqa:partial-update-sequence-group-overlap
Open

reswqa wants to merge 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.

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