{"record":{"id":"8c4d28b8b5301fa5","repo":"apache/seatunnel","slug":"unsupported-schemachangeevent-event-getclass-g","errorCode":null,"errorMessage":"Unsupported schemaChangeEvent: {event.getClass().getName()}","messagePattern":"Unsupported schemaChangeEvent: (.+?)","errorType":"error_code","errorClass":"SeaTunnelException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-databend/src/main/java/org/apache/seatunnel/connectors/seatunnel/databend/schema/SchemaChangeManager.java","lineNumber":81,"sourceCode":"    public void applySchemaChange(TablePath tablePath, SchemaChangeEvent event) throws IOException {\n        try (Connection connection =\n                DriverManager.getConnection(\n                        String.format(\n                                \"%s/%s\", databendSinkConfig.getUrl(), tablePath.getDatabaseName()),\n                        databendSinkConfig.toProperties())) {\n            if (event instanceof AlterTableCommentEvent\n                    || event instanceof AlterColumnCommentEvent) {\n                // Comment-only changes are not supported by Databend sink, safely ignore\n                log.info(\n                        \"Ignoring comment change event for table {} - Databend sink does not support comment sync: {}\",\n                        tablePath.getFullName(),\n                        event.getClass().getSimpleName());\n            } else if (event instanceof AlterTableColumnsEvent) {\n                applySchemaChange(connection, tablePath, (AlterTableColumnsEvent) event);\n            } else if (event instanceof AlterTableColumnEvent) {\n                applySchemaChange(connection, tablePath, (AlterTableColumnEvent) event);\n            } else {\n                throw new SeaTunnelException(\n                        \"Unsupported schemaChangeEvent: \" + event.getClass().getName());\n            }\n        } catch (SQLException e) {\n            throw new DatabendConnectorException(\n                    DatabendConnectorErrorCode.SQL_OPERATION_FAILED,\n                    \"Failed to apply schema change: \" + e.getMessage(),\n                    e);\n        }\n    }\n\n    private void applySchemaChange(\n            Connection connection, TablePath tablePath, AlterTableColumnEvent event)\n            throws SQLException, IOException {\n        if (event instanceof AlterColumnCommentEvent) {\n            // Databend does not support comment synchronization, including nested column events.\n            log.info(\n                    \"Ignoring comment change event for table {} - Databend sink does not support comment sync: {}\",\n                    tablePath.getFullName(),","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-databend/src/main/java/org/apache/seatunnel/connectors/seatunnel/databend/schema/SchemaChangeManager.java#L63-L99","documentation":"SchemaChangeManager.applySchemaChange received a SchemaChangeEvent subtype it has no handler for. Only CreateTableEvent, (and per the source) AddColumnEvent/AlterTableColumnEvent/AlterTableColumnsEvent families are dispatched; anything else is rejected with a plain SeaTunnelException. This indicates a schema-change event the Databend connector cannot translate to SQL.","triggerScenarios":"CDC/schema-evolution pipelines where the upstream connector emits an event type outside the handled set, e.g. DropTableEvent, RenameTableEvent, TruncateTableEvent, or a newer event type added upstream.","commonSituations":"Multi-connector CDC jobs where Databend is the sink and the source (e.g. MySQL CDC) emits DDL events beyond add/alter column; upgrading a source connector that introduced new SchemaChangeEvent subclasses.","solutions":["Restrict source CDC to column-level schema changes (disable drop/rename table events if configurable)","Handle or filter unsupported events before they reach the Databend sink","Upgrade or patch the connector to support the event type"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if (!(event instanceof CreateTableEvent\n        && event instanceof AlterTableColumnsEvent\n        && event instanceof AlterTableColumnEvent)) {\n    log.warn(\"Skipping unsupported schema change: \" + event.getClass().getName());\n    return;\n}","typeGuard":null,"tryCatchPattern":"try {\n    schemaChangeManager.applySchemaChange(event);\n} catch (SeaTunnelException e) {\n    if (e.getMessage().startsWith(\"Unsupported schemaChangeEvent\")) {\n        log.warn(\"Ignoring unsupported event\", e);\n    } else { throw e; }\n}","preventionTips":["Pin source and sink connector versions so event types match","Disable unsupported DDL event emission at the CDC source","Filter SchemaChangeEvents before the Databend sink"],"tags":["databend","schema-change","cdc","unsupported-event"],"backgroundTag":"unsupported-enum-value","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}