david-streamlio opened a new issue, #65:
URL: https://github.com/apache/pulsar-connectors/issues/65
## Motivation
Debezium ships a MariaDB source connector
(`io.debezium:debezium-connector-mariadb`, present in the `debezium-bom` at our
pinned version), but this repository does not wrap it. We currently wrap 5 of
Debezium's 12 source connectors: MySQL, PostgreSQL, MongoDB, Oracle, and SQL
Server.
MariaDB is the highest-value gap:
- Debezium split the MariaDB connector out of the MySQL connector, and both
now build on the shared `debezium-connector-binlog` base. Our existing
`debezium/mysql` module is therefore close to a drop-in template for the
connector, the config plumbing, and the integration test.
- We already ship a MariaDB **JDBC sink** (`jdbc/mariadb`, integration test
added in #59), so a MariaDB source completes the story for that database.
## Proposal
Add a `debezium/mariadb` module (`pulsar-io-debezium-mariadb`) following the
structure of `debezium/mysql`:
- `DebeziumMariaDbSource` extending `DebeziumSource`, asserting Debezium's
`connector.class`/`task.class` for the MariaDB connector
- `include("debezium:pulsar-io-debezium-mariadb")` in `settings.gradle.kts`
- `debezium-connector-mariadb = { module =
"io.debezium:debezium-connector-mariadb" }` in the version catalog
- NAR packaging + distribution wiring, mirroring the MySQL module
- A Testcontainers integration test cloned from `DebeziumMysqlSourceTest`
## Notes
- Use the `GenericContainer` pattern rather than a specialized
Testcontainers module: `debezium-bom` pins Testcontainers core to 2.x while the
specialized modules still target 1.21.x and reference shaded classes removed in
2.x (see the discussion in #62).
- MariaDB is a single-partition connector, so it should not hit the
`task.id` gap described in #61.
_Identified by a scan of the Debezium connector catalog against our
connector inventory._
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]