{"record":{"id":"34400ff0084faa39","repo":"apache/seatunnel","slug":"unsupported-altertablecolumnevent-type-event-get","errorCode":null,"errorMessage":"Unsupported AlterTableColumnEvent type: {event.getClass().getName()}","messagePattern":"Unsupported AlterTableColumnEvent type: (.+?)","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":142,"sourceCode":"                        addColumnEvent.getColumn().getName(),\n                        tablePath.getFullName(),\n                        event);\n                return;\n            }\n            applyAddColumn(connection, tablePath, addColumnEvent);\n        } else if (event instanceof AlterTableDropColumnEvent) {\n            AlterTableDropColumnEvent dropColumnEvent = (AlterTableDropColumnEvent) event;\n            if (!columnExists(connection, tablePath, dropColumnEvent.getColumn())) {\n                log.warn(\n                        \"Column {} does not exist in table {}. Skipping drop column operation. event: {}\",\n                        dropColumnEvent.getColumn(),\n                        tablePath.getFullName(),\n                        event);\n                return;\n            }\n            applyDropColumn(connection, tablePath, dropColumnEvent);\n        } else {\n            throw new SeaTunnelException(\n                    \"Unsupported AlterTableColumnEvent type: \" + event.getClass().getName());\n        }\n    }\n\n    /**\n     * Applies each column event in a grouped schema change.\n     *\n     * <p>The resolver wraps column-comment changes in {@link AlterTableColumnsEvent}, so the\n     * per-column dispatcher must handle comment events before structural column events.\n     */\n    void applySchemaChange(Connection connection, TablePath tablePath, AlterTableColumnsEvent event)\n            throws SQLException, IOException {\n        for (AlterTableColumnEvent columnEvent : event.getEvents()) {\n            applySchemaChange(connection, tablePath, columnEvent);\n        }\n    }\n\n    private void applyRenameColumn(","sourceCodeStart":124,"sourceCodeEnd":160,"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#L124-L160","documentation":"Private applySchemaChange(connection, tablePath, event) overload dispatches AlterTableColumnEvent subtypes (add/modify/rename/drop column) and throws when the event matches none. The grouped AlterTableColumnsEvent path delegates each column event here, so one unsupported event aborts the batch.","triggerScenarios":"An AlterTableColumnEvent whose concrete class is not one of the supported add/modify/rename/drop column event types reaches the dispatcher — typically from a newer API version or a custom event.","commonSituations":"Version mismatch between the schema-change API jar and the Databend connector; a source emitting a newly introduced column-event subtype.","solutions":["Align the seatunnel schema-change API version with the connector version (rebuild with matching versions)","Filter unsupported column events upstream before applying changes","Add a handler for the event type if you own the connector code"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    applySchemaChange(event);\n} catch (SeaTunnelException e) {\n    if (e.getMessage().startsWith(\"Unsupported AlterTableColumnEvent\")) {\n        log.warn(\"Skipping unsupported column event: \" + e.getMessage());\n    } else { throw e; }\n}","preventionTips":["Keep schema-change API and connector dependencies at the same version","Enumerate supported AlterTableColumnEvent subtypes before feeding events in","Add unit tests covering every column-event subtype"],"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"}