[ https://issues.apache.org/jira/browse/HIVE-26228?focusedWorklogId=770712&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-770712 ]
ASF GitHub Bot logged work on HIVE-26228: ----------------------------------------- Author: ASF GitHub Bot Created on: 16/May/22 09:03 Start Date: 16/May/22 09:03 Worklog Time Spent: 10m Work Description: pvary commented on code in PR #3287: URL: https://github.com/apache/hive/pull/3287#discussion_r873490768 ########## iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/IcebergTableUtil.java: ########## @@ -184,4 +186,27 @@ public static void updateSpec(Configuration configuration, Table table) { public static boolean isBucketed(Table table) { return table.spec().fields().stream().anyMatch(f -> f.transform().toString().startsWith("bucket[")); } + + /** + * Roll an iceberg table's data back to a specific snapshot identified either by id or before a given timestamp. + * @param configuration a Hadoop configuration + * @param table the iceberg table + */ + public static void rollback(Configuration configuration, Table table) { + RollbackSpec rollbackSpec = SessionStateUtil.getResource(configuration, hive_metastoreConstants.ROLLBACK_SPEC) Review Comment: Do we have a better way to transfer the info? I hate the `SessionStateUtil` passionately nowadays 😄 How do we transfer the `minor` `major` config for compaction for example? Issue Time Tracking ------------------- Worklog Id: (was: 770712) Time Spent: 40m (was: 0.5h) > Implement Iceberg table rollback feature > ---------------------------------------- > > Key: HIVE-26228 > URL: https://issues.apache.org/jira/browse/HIVE-26228 > Project: Hive > Issue Type: New Feature > Reporter: László Pintér > Assignee: László Pintér > Priority: Major > Labels: pull-request-available > Time Spent: 40m > Remaining Estimate: 0h > > We should allow rolling back iceberg table's data to the state at an older > table snapshot. > Rollback to the last snapshot before a specific timestamp > {code:java} > ALTER TABLE ice_t EXECUTE ROLLBACK('2022-05-12 00:00:00') > {code} > Rollback to a specific snapshot ID > {code:java} >  ALTER TABLE ice_t EXECUTE ROLLBACK(1111); > {code} -- This message was sent by Atlassian Jira (v8.20.7#820007)