Skip to content

[core] Trim field names in changelog-producer.row-deduplicate-ignore-fields - #10763

Merged
JingsongLi merged 1 commit into
apache:masterfrom
thswlsqls:fix/row-deduplicate-ignore-fields-trim
Oct 26, 2026
Merged

JingsongLi merged 1 commit into
apache:masterfrom
thswlsqls:fix/row-deduplicate-ignore-fields-trim

Conversation

@thswlsqls

Copy link
Copy Markdown
Contributor

Purpose

fix #10762

  • CoreOptions#changelogRowDeduplicateIgnoreFields split the value on , without trimming, so 'a, b' produced " b" and b was not ignored.
  • With changelog-producer.row-deduplicate = true, an update that changes only b still emitted -U/+U, with no error or warning.
  • Trim each name, using the same form as sequenceField() after [core] Fix sequence.field parsing to trim spaces #6651.

Tests

  • Added CoreOptionsTest#testChangelogRowDeduplicateIgnoreFieldsTrim, mirroring testSequenceFieldTrim.
  • Added IncrementalDeltaStartingScannerTest#testRowDeduplicateIgnoreFieldsWithSpaces: lookup changelog producer, 'a, b', update changing only b; the changelog is empty. Before the fix it fails with Expecting empty but was: ["-U 1|10|100", "+U 1|10|500"].
  • mvn -pl paimon-api,paimon-core test -Dtest=CoreOptionsTest,IncrementalDeltaStartingScannerTest: BUILD SUCCESS, 0 failures (22/22 and 5/5). mvn spotless:check passed.

…fields

CoreOptions#changelogRowDeduplicateIgnoreFields split the option value on
"," without trimming, so 'a, b' yielded " b" and field b was not ignored
by the row-deduplicate equaliser. Trim each name, as sequenceField() does
since apache#6651.

Generated-by: Claude Code

@Akash3121 Akash3121 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
Trimming at the CoreOptions boundary fixes the exact-name mismatch before the ignore list reaches ValueEqualiserSupplier, and it follows the existing sequenceField() convention. The unit test covers whitespace normalization and the scanner test verifies the end-to-end lookup changelog behavior.

@JingsongLi

Copy link
Copy Markdown
Contributor

+1

@JingsongLi
JingsongLi merged commit 7147f16 into apache:master Oct 26, 2026
16 of 18 checks passed
@thswlsqls
thswlsqls deleted the fix/row-deduplicate-ignore-fields-trim branch November 4, 2026 23:42
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.

[Bug] changelog-producer.row-deduplicate-ignore-fields does not trim field names

3 participants