kbendick commented on a change in pull request #3573:
URL: https://github.com/apache/iceberg/pull/3573#discussion_r753728973



##########
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:
       The reason that I removed it is that IntelliJ told me that it wasn't a 
used checked exception (i.e. IntelliJ told me that it wouldn't be thrown). The 
actual exception is getting swallowed by the ByteCode.
   
   The actual exception presently that we get is 
`org.apache.spark.SparkException`.
   
   But because that's coming from Scala, it gets erased and the editor 
complains even when I throw a `try-catch` block for that exception.
   
   ```
    org.apache.spark.SparkException: Cannot drop a non-empty namespace: db. Use 
CASCADE option to drop a non-empty namespace.
        at 
org.apache.spark.sql.errors.QueryExecutionErrors$.cannotDropNonemptyNamespaceError(QueryExecutionErrors.scala:546)
        at 
org.apache.spark.sql.execution.datasources.v2.DropNamespaceExec.run(DropNamespaceExec.scala:45)
        at 
org.apache.spark.sql.execution.datasources.v2.V2CommandExec.result$lzycompute(V2CommandExec.scala:43)
   ```




-- 
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]

Reply via email to