Skip to content

[flink][cdc][iceberg] Include table identifier in schema-change and CDC-commit exception messages - #9892

Merged
JingsongLi merged 1 commit into
apache:masterfrom
JTaky:oleksandr.nitavskyi/schema-change-exception-table-name
Sep 17, 2026
Merged

JingsongLi merged 1 commit into
apache:masterfrom
JTaky:oleksandr.nitavskyi/schema-change-exception-table-name

Conversation

@JTaky

@JTaky JTaky commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Purpose

UpdatedDataFieldsProcessFunctionBase.applySchemaChange and several other exceptions in the multi-table CDC sink and Iceberg-REST metadata-commit paths were thrown without the table identifier, even though it (or a FileStoreTable/Identifier reference) was already in scope.
In a multi-table CDC sink processing many tables through shared operators, this made it complicated to tell which table caused a crash from the exception message alone, which significantly slowed diagnosis during a live production incident.

This PR appends the table identifier to each affected message. All changes are purely additive (same exception type, same trigger conditions, message text only) with no control-flow or method-signature changes.

Tests

None added — this is a message-text-only change with no behavior change; existing tests continue to cover the trigger conditions unchanged.

@JTaky
JTaky force-pushed the oleksandr.nitavskyi/schema-change-exception-table-name branch from cadea81 to 828d176 Compare September 16, 2026 11:12
@JTaky JTaky changed the title Include table identifier in schema-change and CDC-commit exception messages [flink][cdc][iceberg] Include table identifier in schema-change and CDC-commit exception messages Sep 16, 2026
@JTaky
JTaky force-pushed the oleksandr.nitavskyi/schema-change-exception-table-name branch from 828d176 to 23dc12c Compare September 16, 2026 11:40
…DC-commit exception messages

UpdatedDataFieldsProcessFunctionBase.applySchemaChange and several other
exceptions in the multi-table CDC sink and Iceberg-REST metadata-commit
paths were thrown without the table identifier, even though it (or a
FileStoreTable/Identifier reference) was already in scope. In a
multi-table CDC sink processing many tables through shared operators,
this made it impossible to tell which table caused a crash from the
exception message alone, significantly slowing diagnosis during a live
production incident. This appends the table identifier to each
affected message. All changes are purely additive (same exception
type, same trigger conditions, message text only) with no
control-flow or method-signature changes.
@JTaky
JTaky force-pushed the oleksandr.nitavskyi/schema-change-exception-table-name branch from 23dc12c to 9c4e3b1 Compare September 16, 2026 11:42
@JTaky
JTaky marked this pull request as ready for review September 16, 2026 17:06
@JingsongLi

Copy link
Copy Markdown
Contributor

All good — these context-free exceptions are painful to attribute in multi-table CDC jobs, and adding the table name at each site is low-risk and clearly useful.

One small thing while you are touching the lines: notifyDeletion throws "Failed to create tag " + tagName, which should read "Failed to delete tag" (pre-existing wording, but a natural fix now that the message is being changed anyway).

@JingsongLi
JingsongLi merged commit 8f43d09 into apache:master Sep 17, 2026
18 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.

2 participants