{"record":{"id":"faee1225fa2ee807","repo":"apache/seatunnel","slug":"table-s-already-exists-in-catalog-s-tablealread","errorCode":null,"errorMessage":"Table %s already exists in catalog %s (TableAlreadyExistException)","messagePattern":"Table (.+?) already exists in catalog (.+?) \\(TableAlreadyExistException\\)","errorType":"exception","errorClass":"TableAlreadyExistException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java","lineNumber":411,"sourceCode":"        return typeConverter.convert(typeDefine);\n    }\n\n    @Override\n    public void createTable(TablePath tablePath, CatalogTable table, boolean ignoreIfExists)\n            throws TableAlreadyExistException, DatabaseNotExistException, CatalogException {\n\n        if (!databaseExists(tablePath.getDatabaseName())) {\n            throw new DatabaseNotExistException(catalogName, tablePath.getDatabaseName());\n        }\n\n        boolean tableExists = tableExists(tablePath);\n        if (ignoreIfExists && tableExists) {\n            LOG.info(\"table {} is exists, skip create\", tablePath.getFullName());\n            return;\n        }\n\n        if (tableExists) {\n            throw new TableAlreadyExistException(catalogName, tablePath);\n        }\n\n        String stmt =\n                DorisCatalogUtil.getCreateTableStatement(\n                        createTableTemplate, tablePath, table, typeConverter);\n        try (Statement statement = conn.createStatement()) {\n            statement.execute(stmt);\n        } catch (SQLException e) {\n            throw new CatalogException(\"create table statement execute failed\", e);\n        }\n    }\n\n    @Override\n    public void dropTable(TablePath tablePath, boolean ignoreIfNotExists)\n            throws TableNotExistException, CatalogException {\n        String query = DorisCatalogUtil.getDropTableQuery(tablePath, ignoreIfNotExists);\n        try (Statement stmt = conn.createStatement()) {\n            stmt.execute(query);","sourceCodeStart":393,"sourceCodeEnd":429,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java#L393-L429","documentation":"DorisCatalog.createTable throws TableAlreadyExistException(catalogName, tablePath) when the target table already exists and ignoreIfExists is false; with ignoreIfExists=true it logs and skips creation instead.","triggerScenarios":"Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:411 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Drop the existing table or choose a different table name","Enable ignoreIfExists semantics so existing tables are reused","Confirm the target table path does not point at an unintended table"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}