-
Notifications
You must be signed in to change notification settings - Fork 13.7k
[FLINK-37921][table] Replace TableKeyedAsyncWaitOperator with new operator under new async framework #26698
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
base: master
Are you sure you want to change the base?
Conversation
cbb45a6
to
abaedef
Compare
@xishuaidelin We need to split non table related changes into separate commit. |
abaedef
to
a858277
Compare
return resultHandler; | ||
} | ||
|
||
public void waitAllInFlightInputsFinished() { |
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 asyncExecutionController.drainInflightRecords(0);
is enough. I'd suggest not using waitUntil
since it mainly used for waiting specified requests.
// which would trigger dispose the context in AsyncExecutionController | ||
// This part is executed in the AsyncExecutor | ||
() -> { | ||
KeyedResultHandler handler = invoke(element); |
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.
Ahhh..... I don't think this is the best practice.
I'd suggest the invoke
produce a AsyncFuture
, by wrapping one and providing to asyncFunction
. And do thenXxxx
on the future here to chain the following action. The AEC will track all the chaining operation and keep it run in main thread. We'd better not do something like KeyedResultHandler.processInMailbox
What is the purpose of the change
Current key ordered lookup join implementation borrows most concepts of FLIP-425 like Epoch, AsynExecutionController, etc. This leads to much code duplication. This pr aims to integrate current implementation into async processing framework which introduced in FLINK-37930. This pr is to replace the implementation in FLINK-37877 while the TableAsyncExecutionController would be removed later.
Brief change log
Verifying this change
This change added tests and can be verified as follows:
AsyncKeyOrderedLookupOperatorTest is added to verify this change
Does this pull request potentially affect one of the following parts:
@Public(Evolving)
: ( no )Documentation