dhananjaykrutika opened a new pull request, #722: URL: https://github.com/apache/iceberg-go/pull/722
ExpireSnapshots computes candidate snapshots for deletion at time T1, but by the time CommitTable applies the update at T2, a concurrent client might link one of these snapshots to a new branch or tag. Without protection, the snapshot is deleted and its new ref is silently cleaned up. This change adds a SkipIfReferenced flag to removeSnapshotsUpdate. When set, Apply() filters out any snapshot that is still referenced before calling RemoveSnapshots(). ExpireSnapshots sets this flag via SetSkipIfReferenced(). The default behavior (SkipIfReferenced=false) is unchanged: snapshots are removed and orphaned refs are silently cleaned up, preserving backward compatibility with explicit client-driven remove-snapshot updates. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
