kbendick commented on a change in pull request #3573:
URL: https://github.com/apache/iceberg/pull/3573#discussion_r766056438
##########
File path:
spark/v3.2/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
##########
@@ -370,13 +371,21 @@ public void alterNamespace(String[] namespace,
NamespaceChange... changes) throw
}
@Override
- public boolean dropNamespace(String[] namespace) throws
NoSuchNamespaceException {
+ // Spark assumes that catalogs CASCADE by default. So we have to eagerly
+ // attempt to drop namespaces and tables, but the CASCADE keyword is still
+ // required to actually drop tables and namespaces.
+ //
+ // TODO - Somehow this got rid of the checked NoSuchNamespaceException.
+ // I don't think we should check for it and throw if it's not present,
+ // as we don't know if the user used `if not exists` or not.
Review comment:
> What if user drop same namespace cascade concurrently? Maybe we should
keep NoSuchNamespaceException
I managed to get `NoSuchNamespaceException` back. Will push shortly.
The general case of concurrent removals / changes won't be made worse by
this PR. But any further hardening the catalog around concurrent access via
synchronize or some other means should be done via another ticket in my opinion
to separate concerns.
--
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]