vsantonastaso commented on PR #10799:
URL: https://github.com/apache/seatunnel/pull/10799#issuecomment-4885204008

   > > @davidzollo please take a look at this, thanks
   > 
   > Thanks again for the work here — I really like the direction of this PR.
   > 
   > I still have one architectural concern that I’d treat as blocking for now: 
`connector-cdc-base` still directly depends on Debezium, still imports many 
`io.debezium.*` types, and still carries patched `io/debezium/*` classes. So 
even though this is a meaningful staged step, the shared base is still the 
place where the Debezium-version-sensitive boundary lives.
   > 
   > My concern is not that this will break CDC jobs today. It’s that we may 
merge a stronger multi-version foundation claim than the current code actually 
proves. If a connector later needs to move to a different Debezium major line, 
`connector-cdc-base` could still become the conflict point again.
   > 
   > I’d be very happy with either of these directions:
   > 
   > 1. Keep this PR intentionally narrow and present it as a staged foundation 
step: experimental SPI + tests + connector version markers.
   > 2. Or, if we want to keep the stronger architectural claim, make the base 
module truly version-neutral at the Maven/runtime boundary in this PR.
   > 
   > Really appreciate the work and the direction here — I just want to make 
sure the architectural contract we merge is fully real.
   
   Hi @davidzollo, thanks for the thoughtful feedback.
   This PR is intentionally the first option you described, i.e. a narrow 
staged foundation step. 
   The base module still depends on Debezium directly, and that's by design for 
this PR. 
   We're not claiming version neutrality yet so the changes are limited to 
per-connector _debezium.version_ Maven properties (so each
     connector can independently pin its version in future PRs), plus the 
experimental SPI contract and its tests.
   
     Making connector-cdc-base truly Debezium-neutral is a significantly larger 
piece of work, stripping io.debezium.* imports from base, moving patched 
classes, wiring classloader isolation, and I think that deserves its own PR (or 
series of PRs) with proper community discussion . 
   This foundation gives us the interface contract and the dependency markers 
to build on without changing any runtime behavior.
   WDYT?


-- 
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