in iceberg-catalog-migrator/api/src/main/java/org/apache/polaris/iceberg/catalog/migrator/api/CatalogMigrator.java [147:175]
public CatalogMigrator registerTable(TableIdentifier identifier) {
Preconditions.checkArgument(identifier != null, "Identifier is null");
boolean isRegistered = registerTableToTargetCatalog(identifier);
if (isRegistered) {
resultBuilder.addRegisteredTableIdentifiers(identifier);
} else {
resultBuilder.addFailedToRegisterTableIdentifiers(identifier);
}
try {
if (isRegistered
&& deleteEntriesFromSourceCatalog()
&& !sourceCatalog().dropTable(identifier, false)) {
resultBuilder.addFailedToDeleteTableIdentifiers(identifier);
}
} catch (Exception exception) {
resultBuilder.addFailedToDeleteTableIdentifiers(identifier);
if (enableStacktrace()) {
LOG.error("Failed to delete the table after migration {}", identifier, exception);
} else {
LOG.error(
"Failed to delete the table after migration {} : {}",
identifier,
exception.getMessage());
}
}
return this;
}