{"record":{"id":"61966b9af3e534c4","repo":"apache/iceberg","slug":"nosuchnamespaceexception-namespace-61966b","errorCode":null,"errorMessage":"NoSuchNamespaceException: <namespace>","messagePattern":"NoSuchNamespaceException: <namespace>","errorType":"exception","errorClass":"org.apache.spark.sql.catalyst.analysis.NoSuchNamespaceException","httpStatus":null,"severity":"error","filePath":"spark/v4.2/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java","lineNumber":450,"sourceCode":"  public String[][] listNamespaces() {\n    if (asNamespaceCatalog != null) {\n      return asNamespaceCatalog.listNamespaces().stream()\n          .map(Namespace::levels)\n          .toArray(String[][]::new);\n    }\n\n    return new String[0][];\n  }\n\n  @Override\n  public String[][] listNamespaces(String[] namespace) throws NoSuchNamespaceException {\n    if (asNamespaceCatalog != null) {\n      try {\n        return asNamespaceCatalog.listNamespaces(Namespace.of(namespace)).stream()\n            .map(Namespace::levels)\n            .toArray(String[][]::new);\n      } catch (org.apache.iceberg.exceptions.NoSuchNamespaceException e) {\n        throw new NoSuchNamespaceException(namespace);\n      }\n    }\n\n    throw new NoSuchNamespaceException(namespace);\n  }\n\n  @Override\n  public boolean namespaceExists(String[] namespace) {\n    return asNamespaceCatalog != null\n        && asNamespaceCatalog.namespaceExists(Namespace.of(namespace));\n  }\n\n  @Override\n  public Map<String, String> loadNamespaceMetadata(String[] namespace)\n      throws NoSuchNamespaceException {\n    if (asNamespaceCatalog != null) {\n      try {\n        return asNamespaceCatalog.loadNamespaceMetadata(Namespace.of(namespace));","sourceCodeStart":432,"sourceCodeEnd":468,"githubUrl":"https://github.com/apache/iceberg/blob/86d9c8fc543e7c56c9f624eb725f76c9baff9570/spark/v4.2/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java#L432-L468","documentation":"listNamespaces(String[] namespace) looks up the child namespaces of the given namespace via a SupportsNamespaces catalog. If the catalog reports NoSuchNamespaceException the error is translated to Spark's NoSuchNamespaceException; the same error is also thrown when the catalog does not support namespaces at all.","triggerScenarios":"SHOW NAMESPACES under a parent namespace that does not exist, or using a catalog implementation that does not implement SupportsNamespaces (asNamespaceCatalog == null).","commonSituations":"Hadoop catalog with missing directory metadata; typo in the parent namespace; JDBC/REST catalog where the namespace was dropped.","solutions":["Verify the parent namespace exists with SHOW NAMESPACES or namespaceExists before listing children","Check the catalog implementation supports namespaces (implements SupportsNamespaces)","Correct the namespace spelling/case","Create the missing namespace first"],"exampleFix":"// before\nspark.sql(\"SHOW NAMESPACES IN prod.missing\")\n// after\nif (spark.sql(\"SHOW NAMESPACES IN prod\").collectAsList().stream().anyMatch(r -> r.getString(1).equals(\"missing\"))) { spark.sql(\"SHOW NAMESPACES IN prod.missing\"); }","handlingStrategy":"validation","validationCode":"boolean exists = spark.catalog().namespaceExists(\"prod.missing\");","typeGuard":null,"tryCatchPattern":"try { spark.sql(\"SHOW NAMESPACES IN prod.missing\"); } catch (NoSuchNamespaceException e) { /* create or skip */ }","preventionTips":["Verify parent namespaces before listing children","Use catalogs implementing SupportsNamespaces","Standardize namespace naming to avoid typos"],"tags":["spark","namespace-not-found","catalog"],"backgroundTag":"entity-not-found","analyzedSha":"86d9c8fc543e7c56c9f624eb725f76c9baff9570","analyzedAt":"2026-09-12T00:46:39.097Z","contentChangedAt":"2026-09-12T00:46:39.097Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}