-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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-36093][transform] fix preTransformoperator wrongly filters columns when multiple transform #3572
base: master
Are you sure you want to change the base?
Conversation
e2edbe6
to
aed5494
Compare
This pull request has been automatically marked as stale because it has not had recent activity for 60 days. It will be closed in 30 days if no further activity occurs. |
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 for @MOBIN-F's contribution! Apart from great unit tests of transform operators, some integrated / E2e tests will be nice in FlinkPipelineTransformITCase
and TransformE2eITCase
.
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 @MOBIN-F for the contribution, I think current unit test is okay for me. Sure that future e2e test is welcome
@MOBIN-F Could you help rebase this PR? |
…erator_wrongly_filters_out_columns_when_multiple_transform_rules
|
CI failure,It seems that this PR(#3696) should be merged first |
@MOBIN-F Could you kindly rebase again? |
…erator_wrongly_filters_out_columns_when_multiple_transform_rules
done~ |
CI failure,I will recheck the code |
I previously ignored the scenario where projection was missing. I fixed it and added integrated / E2e tests , Can you review it again? @yuxiqian |
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 for cleaning up PreTransformOperator
! Looks much neater now, just left some trivial comments.
Also +@aiwenmo who is familiar with transform modules.
...ime/src/main/java/org/apache/flink/cdc/runtime/operators/transform/PreTransformOperator.java
Outdated
Show resolved
Hide resolved
...ime/src/main/java/org/apache/flink/cdc/runtime/operators/transform/PreTransformOperator.java
Outdated
Show resolved
Hide resolved
...src/test/java/org/apache/flink/cdc/runtime/operators/transform/PreTransformOperatorTest.java
Outdated
Show resolved
Hide resolved
@Test | ||
void testMultiTransform() throws Exception { | ||
PreTransformOperator transform = | ||
PreTransformOperator.newBuilder() |
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.
Maybe we can also cover cases when projection is *
or omitted here
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.
done~, also above
added some tests
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.
LGTM.
oceanbase tests failure,but it seems to have nothing to do with this PR |
Currently, such transform rule could not work:
Here,
score
column will be filtered out in PreTransform stage, since it wasn't referenced in the first transform rule. As a result, the following transform rule will fail sincescore
does not exist in PostTransform operator.