Skip to content

[flink] Allow partial updates for AGGREGATION merge engine#2888

Merged
wuchong merged 1 commit into
apache:mainfrom
platinumhamburg:fix/aggregation-partial-update
Mar 19, 2026
Merged

[flink] Allow partial updates for AGGREGATION merge engine#2888
wuchong merged 1 commit into
apache:mainfrom
platinumhamburg:fix/aggregation-partial-update

Conversation

@platinumhamburg
Copy link
Copy Markdown
Contributor

The connector-side validation in FlinkTableSink.getSinkRuntimeProvider() was rejecting partial updates for ALL merge engines (mergeEngineType != null), but the server-side AggregateRowMerger fully supports partial updates via PartialAggregateRowMerger. Narrow the check to only block FIRST_ROW and VERSIONED engines which genuinely do not support partial updates.

Add IT case for partial update on aggregation merge engine.

Purpose

Linked issue: close #2887 2887

Brief change log

Tests

API and Format

Documentation

@platinumhamburg platinumhamburg force-pushed the fix/aggregation-partial-update branch from e2ba86e to f34e240 Compare March 17, 2026 03:42
The connector-side validation in FlinkTableSink.getSinkRuntimeProvider()
was rejecting partial updates for ALL merge engines (mergeEngineType != null),
but the server-side AggregateRowMerger fully supports partial updates via
PartialAggregateRowMerger. Narrow the check to only block FIRST_ROW and
VERSIONED engines which genuinely do not support partial updates.

Add IT case for partial update on aggregation merge engine.
@platinumhamburg platinumhamburg force-pushed the fix/aggregation-partial-update branch from f34e240 to 1a941e3 Compare March 17, 2026 05:26
Copy link
Copy Markdown
Member

@wuchong wuchong left a comment

Choose a reason for hiding this comment

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

LGTM

@wuchong wuchong merged commit 0fa75eb into apache:main Mar 19, 2026
6 checks passed
Ugbot pushed a commit to Ugbot/fluss that referenced this pull request Apr 26, 2026
The connector-side validation in FlinkTableSink.getSinkRuntimeProvider()
was rejecting partial updates for ALL merge engines (mergeEngineType != null),
but the server-side AggregateRowMerger fully supports partial updates via
PartialAggregateRowMerger. Narrow the check to only block FIRST_ROW and
VERSIONED engines which genuinely do not support partial updates.

Add IT case for partial update on aggregation merge engine.
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.

[flink] Allow partial updates for AGGREGATION merge engine

2 participants