Skip to content

Conversation

@hemanthboyina
Copy link

In SnapshotProducer.commit(), moved stagedSnapshot.set(newSnapshot) from before the no-op check to after the successful commit. This ensures that when a commit succeeds on the metastore but the client receives an error and retries, the cleanup phase uses the correct manifest list reference from the actually-committed snapshot, preventing deletion of the committed manifest list file.

Fixes #14583

@github-actions github-actions bot added the core label Dec 30, 2025
@hemanthboyina hemanthboyina changed the title Fix cleanup to preserve committed manifest list when retry detects no-op after transient commit failure Core: Fix cleanup to preserve committed manifest list when retry detects no-op Dec 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Corrupted table because manifest list file of an active snapshot is removed when commit is empty

1 participant