gaborkaszab commented on code in PR #5159:
URL: https://github.com/apache/iceberg/pull/5159#discussion_r909579239
##########
hive-metastore/src/main/java/org/apache/iceberg/hive/HiveCatalog.java:
##########
@@ -171,9 +172,16 @@ public boolean dropTable(TableIdentifier identifier,
boolean purge) {
false /* throw NoSuchObjectException if the table doesn't exist
*/);
return null;
});
-
if (purge && lastMetadata != null) {
CatalogUtil.dropTableData(ops.io(), lastMetadata);
+
+ boolean tableOwnsLocation =
PropertyUtil.propertyAsBoolean(catalogProperties,
+ CatalogProperties.DROP_FULL_TABLE_FOLDER,
CatalogProperties.DROP_FULL_TABLE_FOLDER_DEFAULT);
+ if (tableOwnsLocation) {
+ fileIO.deleteFolder(lastMetadata.location());
Review Comment:
That's true. There is one thing I wasn't sure about. I saw some old issues
(also related to dropTable) where the root table dir not only contained a data/
and metadata/ folder but also the different partitions had some own directories
under data/.
I'm not sure this could still happen, and I didn't manage to repro such a
case but if in fact there are tables with such a directory structure the
proposed approach wouldn't be able to drop the root dir then.
--
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]