diff --git a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloClient.java b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloClient.java index 0b34a842b832..5c47ee0e86ef 100644 --- a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloClient.java +++ b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloClient.java @@ -115,7 +115,14 @@ public AccumuloClient( // The default namespace is created in ZooKeeperMetadataManager's constructor if (!tableManager.namespaceExists(DEFAULT_SCHEMA)) { - tableManager.createNamespace(DEFAULT_SCHEMA); + try { + tableManager.createNamespace(DEFAULT_SCHEMA); + } + catch (TrinoException e) { + if (!e.getErrorCode().equals(ALREADY_EXISTS.toErrorCode())) { + throw e; + } + } } } diff --git a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloTableManager.java b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloTableManager.java index 7b5462cd3169..448e67f6275e 100644 --- a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloTableManager.java +++ b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloTableManager.java @@ -36,6 +36,7 @@ import static io.trino.plugin.accumulo.AccumuloErrorCode.ACCUMULO_TABLE_DNE; import static io.trino.plugin.accumulo.AccumuloErrorCode.ACCUMULO_TABLE_EXISTS; import static io.trino.plugin.accumulo.AccumuloErrorCode.UNEXPECTED_ACCUMULO_ERROR; +import static io.trino.spi.StandardErrorCode.ALREADY_EXISTS; import static java.util.Objects.requireNonNull; /** @@ -58,7 +59,10 @@ public void createNamespace(String schema) try { connector.namespaceOperations().create(schema); } - catch (AccumuloException | AccumuloSecurityException | NamespaceExistsException e) { + catch (NamespaceExistsException e) { + throw new TrinoException(ALREADY_EXISTS, "Namespace already exists: " + schema, e); + } + catch (AccumuloException | AccumuloSecurityException e) { throw new TrinoException(UNEXPECTED_ACCUMULO_ERROR, "Failed to create Accumulo namespace: " + schema, e); } }