david-streamlio opened a new issue, #67:
URL: https://github.com/apache/pulsar-connectors/issues/67

   ## Motivation
   
   Debezium ships a Google Cloud Spanner source connector 
(`io.debezium:debezium-connector-spanner`, 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.
   
   Spanner is a managed, horizontally-scaled database with a growing Pulsar 
user base, and the connector itself wraps cleanly — the interesting work is in 
testing.
   
   ## Proposal
   
   Add a `debezium/spanner` module (`pulsar-io-debezium-spanner`) following the 
structure of the existing Debezium modules:
   
   - `DebeziumSpannerSource` extending `DebeziumSource`
   - `include("debezium:pulsar-io-debezium-spanner")` in `settings.gradle.kts`
   - `debezium-connector-spanner = { module = 
"io.debezium:debezium-connector-spanner" }` in the version catalog
   - NAR packaging + distribution wiring
   - An integration test against the **Spanner emulator** 
(`gcr.io/cloud-spanner-emulator/emulator`) so CI needs no GCP credentials
   
   ## Notes
   
   - Spanner CDC works via **change streams**, which must be created with DDL 
(`CREATE CHANGE STREAM ...`) as part of test setup. Confirm the emulator 
supports change streams at the version we target — if it does not, the test 
must be credential-gated, and we should avoid repeating the 
`azure-data-explorer` situation (#49) where a credential-gated E2E test means 
the connector is never actually exercised in CI.
   - Spanner is a **multi-partition** connector, so it will likely hit the 
`task.id` gap described in #61. That issue should land first.
   - Use the `GenericContainer` pattern (see the Testcontainers version 
conflict noted in #62).
   
   _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