-
Notifications
You must be signed in to change notification settings - Fork 590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor: rewrite CDC connector validation to Rust #16902
Comments
For newly supported connector, e.g. #16178 , I suggest we write the validation logic in Rust. @KeXiangWang |
Can you elaborate more? |
The |
Do you mean that calling https://protobuf.dev/reference/java/java-generated/#oneof-fields
|
Yeah, the different convention causes burden which is unnecessary. The validation doesn't need to go through the “connector node". |
There is one drawback if we use Rust to write the validate logic: AFAIK Rust doesn't have a unified interface likes the JDBC to access database, so we need to use different Rust driver to interact with different databases. Considering this drawback, it's not really worth the effort to refactor in current stage. |
Sort of true ... 😢 It is double-edged rather than a pure drawback in my view. The JDBC unified interface hides certain DB-specific details, leading to us underestimate the complexity in initial implementation and then add continuous patches via its most generic Not leaning towards any option. Maybe we need more time to see which one is better. |
What about sqlx? 🥺 |
May worth a look but listing something to consider:
|
This issue has been open for 60 days with no activity. If you think it is still relevant today, and needs to be done in the near future, you can comment to update the status, or just manually remove the You can also confidently close this issue as not planned to keep our backlog clean. |
Currently the validation logic is written in Java, and rely on message passing via protobuf. The interpretation of .proto is different in Rust and Java, causing burden to maintain the connector.
The text was updated successfully, but these errors were encountered: