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]

Reply via email to