marton-bod commented on a change in pull request #2219:
URL: https://github.com/apache/hive/pull/2219#discussion_r620251451
##########
File path:
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java
##########
@@ -254,6 +262,32 @@ public void
commitAlterTable(org.apache.hadoop.hive.metastore.api.Table hmsTable
}
}
+ @Override
+ public void rollbackAlterTable(org.apache.hadoop.hive.metastore.api.Table
hmsTable, EnvironmentContext context)
+ throws MetaException {
+ context.getProperties().put(INITIALIZE_ROLLBACK_ALTER, "true");
+ this.catalogProperties = getCatalogProperties(hmsTable);
+ try {
+ this.icebergTable = Catalogs.loadTable(conf, catalogProperties);
+ } catch (NoSuchTableException nte) {
+ // iceberg table was not yet created, no need to delete the metadata dir
separately
+ return;
+ }
+ // we want to keep the data files but get rid of the metadata directory
+ hmsTable.getParameters().put(InputFormatConfig.EXTERNAL_TABLE_PURGE,
"FALSE");
+ String metadataLocation = ((BaseTable)
this.icebergTable).operations().current().metadataFileLocation();
+ try {
+ Path path = new Path(metadataLocation).getParent();
+ FileSystem fileSystem = FileSystem.get(path.toUri(), conf);
+ if (fileSystem.exists(path)) {
+ fileSystem.delete(path, true);
Review comment:
Can we add some logging here that the rollback is going to happen for
`tableName` and metadata under `path`?
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]