-
Notifications
You must be signed in to change notification settings - Fork 606
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
[dq] Fix the parallel precompute execution hangup in some cases #5046
Conversation
⚪
|
⚪
|
Changelog entry
The root cause of the hang-up is the common ExecState in the dq exec transformer. The completion of any precompute triggers multiple TAsyncTransformCallback execution for all running graphs with precomputes. The first graph executes TAsyncTransformCallback, creates new promise, and adds subscription for it. The subsequent TAsyncTransformCallback execution overrides the promise, and then the first graph has no chance to report completion.
This fix keeps the common ExecState for all precomputes, but uses separate futures for each precompute node.
Changelog category
Additional information
...