manuzhang opened a new issue, #13124: URL: https://github.com/apache/iceberg/issues/13124
### Feature Request / Improvement We are using tag to support idempotent rerun of user applications. Basically, the flow is like 0. `ALTER TABLE db.table CREATE TAG t1` // last step of the previous run 1. `CALL spark_catalog.system.set_current_snapshot(table => 'db.table', ref => 't1')` // first step of the current run 2. Upsert on `db.table` 3. `ALTER TABLE db.table CREATE TAG t2` If step 2 fails, user application can always restart from step 1. However, if there's a replace operation happening between two runs (step 0 and step 1), it will be lost after user application resetting snapshot at step 1. ### Query engine Spark ### Willingness to contribute - [x] I can contribute this improvement/feature independently - [ ] I would be willing to contribute this improvement/feature with guidance from the Iceberg community - [ ] I cannot contribute this improvement/feature at this time -- 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: issues-unsubscr...@iceberg.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org