Skip to content
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

[oracle] Use Incremental Snapshot Framework for Oracle CDC Connector #976

Closed
Tracked by #1032
molsionmo opened this issue Mar 22, 2022 · 12 comments
Closed
Tracked by #1032
Assignees
Labels
enhancement New feature or request

Comments

@molsionmo
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Adapte Oracle CDC Connector to the abstraction framework of #724

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

@molsionmo molsionmo added the enhancement New feature or request label Mar 22, 2022
@molsionmo molsionmo changed the title [mysql] Use Incremental Snapshot Framework for Oracle CDC Connector [oracle] Use Incremental Snapshot Framework for Oracle CDC Connector Mar 22, 2022
@molsionmo
Copy link
Contributor Author

Hi @leonardBang , i am a contributor of flink, please assign me to this issue, , I'll help to adapt the oracle CDC Connector to the Incremental Snapshot Framework.

@leonardBang
Copy link
Contributor

Thanks @molsionmo for taking this ticket , I've assigned this to you.

@fuyun2024
Copy link
Contributor

Hi @leonardBang @molsionmo , I'm very interested in this issue. Can I take part in this work together?

@leonardBang leonardBang mentioned this issue Mar 31, 2022
13 tasks
@leonardBang
Copy link
Contributor

@molsionmo @fuyun2024 I think adapt Oracle CDC to Incremental Snapshot Framework is a big umbrella task which we can split it into multiple subtasks and then both of you can take some subtasks, in this way we can finish the task easily.
WDYT?

@molsionmo
Copy link
Contributor Author

@leonardBang Yes,I can take apart several classes that need to be implemented and implement them separately. I'll break it down this week

@molsionmo
Copy link
Contributor Author

@leonardBang
Hi, Xu, as of today, I have completed the definition and implementation of Oracle RedoLogOffset, And OracleSnapshotSplit OracleRedoLogSplit definition of implementation, but also lack of events, reader, enumerator, states, and the definition of partial assigners and implementation.

Do you think I should submit this version first, or complete the rest of the definition before submitting.

I think it is best that events, reader, enumerator, assigners and states the definition of good supplement unified submit a version.I expect it to be this Friday at the latest.

@leonardBang
Copy link
Contributor

@molsionmo It depends on your favor, both two choices make sense to me

@molsionmo
Copy link
Contributor Author

@leonardBang Hi xu, I found that Debezium needs to be upgraded to 1.6.4.Final version, Debezium Oracle has this configuration: snapshot.locking.mode. What is Debezium upgrade strategy in Flink CDC project.

https://debezium.io/documentation/reference/1.6/connectors/oracle.html#oracle-property-snapshot-locking-mode

@fuyun2024
Copy link
Contributor

@molsionmo Hi, I've seen this configuration. I understand that this configuration locks table schema changes during the snapshot. However, in Flink CDC, we can support table schema changes during snapshots. I think we can build on this version.

@molsionmo
Copy link
Contributor Author

@fuyun2024 Thank you for your comment. Our target is that All connector can reuse IncrementalSnapshot Algorithm which offers parallel-reading, non-lock,checkpoint feature.

In Debezium 1.5.4.Final, it obtains an EXCLUSIVE MODE lock on each of the monitored tables to prevent structural changes from occurring during creation of the snapshot. Debezium holds the locks for only a short time and does not provide a lock-free configuration during creation of the snapshot. So we need to execute it [GRANT LOCK ANY TABLE TO c##dbzuser CONTAINER=ALL;] in database. DBA will not allow this in most cases and we can not say that we provide non-lock feature.

@fuyun2024
Copy link
Contributor

@molsionmo Hi, I just verified MySQL snapshot reading. In flick CDC, schema changes are not allowed during snapshot reads. My previous understanding is wrong, and your suggestion is correct.

@leonardBang
Copy link
Contributor

Resolved in #1079

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants