Skip to content

[AMORO-4290][AMS] Propagate internal Iceberg table commit failures - #4291

Merged
zhoujinsong merged 1 commit into
apache:masterfrom
huangjc7:fix/amoro-4290-commit-failure
Jul 27, 2026
Merged

[AMORO-4290][AMS] Propagate internal Iceberg table commit failures#4291
zhoujinsong merged 1 commit into
apache:masterfrom
huangjc7:fix/amoro-4290-commit-failure

Conversation

@huangjc7

@huangjc7 huangjc7 commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

From #4290

image Problem: AMS swallowed Iceberg commit exceptions in IcebergInternalTableOperations. As a result, the REST Catalog could return success even when the metadata commit had failed, preventing clients such as Flink from retrying and potentially causing snapshot loss.

Fix:
Propagate the failure as a CommitFailedException after best-effort metadata cleanup. The REST Catalog now returns HTTP 409, allowing Flink to detect the conflict and retry the commit.
The image is from my online production Kubernetes cluster, 409 error.

image

Data validation is fine.

Log internal commit errors and propagate CommitFailedException to REST clients instead of swallowing failures. Add unit tests for failure propagation and metadata cleanup errors.
@github-actions github-actions Bot added the module:ams-server Ams server module label Jul 25, 2026

@zhoujinsong zhoujinsong 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.

Thanks for the contribution!

@zhoujinsong
zhoujinsong merged commit 0dfaa4b into apache:master Jul 27, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

module:ams-server Ams server module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants