-
Bug
-
Resolution: Done
-
Major
-
3.2.0.Beta2, 3.2.0.CR1, 3.2.0.Final
-
None
In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.
Bug report
For bug reports, provide this information, please:
What Debezium connector do you use and what version?
Debezium IBMI Connector with the Debezium Embedded Engine, version 3.2.0.Final.
What is the connector configuration?
props.setProperty("name", "debezium-as400"); props.setProperty("connector.class", "io.debezium.connector.db2as400.As400RpcConnector"); props.setProperty("offset.storage.file.filename", "C:/testDBZ/ntv/ibmi/offset.dat"); props.setProperty("offset.flush.interval.ms", "1000"); props.setProperty("database.hostname", "pub400.com"); props.setProperty("database.port", "446"); props.setProperty("database.dbname", "Pub400"); props.setProperty("database.user", "TES"); props.setProperty("database.password", "******"); props.setProperty("database.schema", "TES2"); props.setProperty("topic.prefix", "dbz_test"); props.setProperty("database.secure", "false"); props.setProperty("converter.schemas.enable", "false"); props.setProperty("table.include.list", "TES2.EMPLOYEES");
What is the captured database version and mode of deployment?
pub400
What behavior do you expect?
To retrieve the events.
What behavior do you see?
Regardless of the snapshot.mode configuration, every time the engine captures/processes an event, it throws a NullPointerException, and no events are retrieved.
Do you see the same behaviour using the latest released Debezium version?
yes, with version 3.2.0.Final. The last version that I tested and is working is version 3.2.0.Alpha1
Do you have the connector logs, ideally from start till finish?
How to reproduce the issue using our tutorial deployment?
More info in here:
Feature request or enhancement
For feature requests or enhancements, provide this information, please:
Which use case/requirement will be addressed by the proposed feature?
<Your answer>
Implementation ideas (optional)
I was able to resolve it by adding the following line in the AS400ConnectorTask within the registerServiceProviders method:
serviceRegistry.registerServiceProvider(new DebeziumHeaderProducerProvider());
@Override protected void registerServiceProviders(ServiceRegistry serviceRegistry) { serviceRegistry.registerServiceProvider(new PostProcessorRegistryServiceProvider()); serviceRegistry.registerServiceProvider(new DebeziumHeaderProducerProvider()); // added this line in here }