{"record":{"id":"93d15abb32416202","repo":"apache/seatunnel","slug":"should-not-call-here-error","errorCode":null,"errorMessage":"should not call here, error","messagePattern":"should not call here, error","errorType":"exception","errorClass":"java.lang.UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-cdc/connector-cdc-base/src/main/java/org/apache/seatunnel/connectors/cdc/debezium/EmbeddedDatabaseHistory.java","lineNumber":85,"sourceCode":"\n        // recover\n        String instanceName = config.getString(DATABASE_HISTORY_INSTANCE_NAME);\n        this.tableSchemas = new HashMap<>();\n        for (TableChange tableChange : removeHistory(instanceName)) {\n            tableSchemas.put(tableChange.getId(), tableChange);\n        }\n    }\n\n    @Override\n    public void start() {\n        listener.started();\n    }\n\n    @Override\n    public void record(\n            Map<String, ?> source, Map<String, ?> position, String databaseName, String ddl)\n            throws DatabaseHistoryException {\n        throw new UnsupportedOperationException(\"should not call here, error\");\n    }\n\n    @Override\n    public void record(\n            Map<String, ?> source,\n            Map<String, ?> position,\n            String databaseName,\n            String schemaName,\n            String ddl,\n            TableChanges changes)\n            throws DatabaseHistoryException {\n        final HistoryRecord record =\n                new HistoryRecord(source, position, databaseName, schemaName, ddl, changes);\n        listener.onChangeApplied(record);\n    }\n\n    @Override\n    public void recover(","sourceCodeStart":67,"sourceCodeEnd":103,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-cdc/connector-cdc-base/src/main/java/org/apache/seatunnel/connectors/cdc/debezium/EmbeddedDatabaseHistory.java#L67-L103","documentation":"EmbeddedDatabaseHistory.record(Map, Map, String, String) is a hard no-op stub that always throws UnsupportedOperationException('should not call here, error'). The embedded schema-history implementation used by SeaTunnel's in-engine Debezium only supports the other record() overload; hitting this means Debezium invoked an API path the embedded history does not implement.","triggerScenarios":"Debezium's schema-history mechanism calls the 4-arg record(source, position, databaseName, ddl) during DDL capture; EmbeddedDatabaseHistory intentionally rejects it.","commonSituations":"Using a connector/Debezium code path that records DDL through the unsupported overload, e.g. schema changes during incremental snapshot or a connector not storing DDL events as expected.","solutions":["Do not call this method directly; use the collection-based record() overload that the embedded history supports.","If triggered by Debezium internals during a schema change, ensure the job does full snapshot/recovery via a path that uses the supported record() variant, or switch schema.history.internal to a store that supports DDL recording.","Check the SeaTunnel CDC connector version for known issues with DDL events during streaming; upgrade to a version handling them."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    databaseHistory.record(source, position, databaseName, ddl);\n} catch (UnsupportedOperationException e) {\n    // embedded history does not support this overload; use the collection-based record() or alternate history store\n    log.debug(\"embedded history ignored DDL record: {}\", ddl);\n}","preventionTips":["Use the EmbeddedDatabaseHistory only through the API surface it implements","For jobs capturing DDL, configure a schema-history store that supports recording","Check the Debezium connector's schema-history usage before switching to embedded history"],"tags":["cdc","debezium","unsupported-operation","schema-history"],"backgroundTag":"method-not-implemented","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"}