-
Notifications
You must be signed in to change notification settings - Fork 2k
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
[FLINK-36092] Fix schema evolution with wildcarded transform rules #3557
Conversation
Considering this is blocking users from using schema evolution with transform blocks, could @leonardBang @aiwenmo please take a look? |
flink-cdc-runtime/src/main/java/org/apache/flink/cdc/runtime/parser/TransformParser.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @yuxiqian for the fix, the change generally looks good to me except one comment
# Conflicts: # flink-cdc-runtime/src/main/java/org/apache/flink/cdc/runtime/operators/transform/PreTransformOperator.java
This was caused by late initialization of `transforms` blocks. `open` isn't early enough since it won't be executed until `initializeState` phase. According to Flink docs, putting data fields initialization phase in `setup` should be suitable.
@yuxiqian The CI failed |
Seems Postgres and OceanBase CI is hanging, unlikely to be relevant to this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI passed after retry, merging...
…ed transform rule This closes apache#3557. (cherry picked from commit 3837887)
…void blocking the main thread This closes #3557
…ed transform rule This closes apache#3557. (cherry picked from commit 3837887)
…ed transform rule This closes apache#3557.
…void blocking the main thread This closes apache#3557
…ed transform rule This closes apache#3557.
…void blocking the main thread This closes apache#3557
Currently, transform doesn't work very well with schema evolution.
The main issue is that TransformOperator (including Pre- and Post-) simply passes all upstream schema change events to downstream, which isn't correct under most cases.
Here's corresponding operations this PR tries to do in various transform rule definitions:
*, ...
..., *, ...
..., *