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

Allow MapXComArg to resolve after serialization #26591

Merged
merged 2 commits into from Sep 23, 2022

Conversation

uranusjr
Copy link
Member

This is useful for cases where we want to resolve an XCom without running a worker, e.g. to display the value in UI, logs, and OpenLineage.

Since we don't want to actually call the mapper function in this case (the function is arbitrary code, and not running it is the entire point to serialize operators), "resolving" the XComArg in this case would merely produce some kind of quasi-meaningful string representation,
instead of the actual value we'd get in the worker.

Also note that this only affects a very small number of cases, since once a worker is run for the task instance, RenderedTaskInstanceFields would store the real resolved value and take over UI representation, avoiding this fake resolving logic to be accessed at all.

This is useful for cases where we want to resolve an XCom without
running a worker, e.g. to display the value in UI.

Since we don't want to actually call the mapper function in this case
(the function is arbitrary code, and not running it is the entire point
to serialize operators), "resolving" the XComArg in this case would
merely produce some kind of quasi-meaningful string representation,
instead of the actual value we'd get in the worker.

Also note that this only affects a very small number of cases, since
once a worker is run for the task instance, RenderedTaskInstanceFields
would store the real resolved value and take over UI representation,
avoiding this fake resolving logic to be accessed at all.
@uranusjr uranusjr added this to the Airflow 2.4.1 milestone Sep 22, 2022
@jedcunningham jedcunningham merged commit 3e01c0d into apache:main Sep 23, 2022
@jedcunningham jedcunningham deleted the aip-42-zip-over-iterate branch September 23, 2022 20:33
@jedcunningham jedcunningham added the type:bug-fix Changelog: Bug Fixes label Sep 23, 2022
jedcunningham pushed a commit that referenced this pull request Sep 26, 2022
This is useful for cases where we want to resolve an XCom without
running a worker, e.g. to display the value in UI.

Since we don't want to actually call the mapper function in this case
(the function is arbitrary code, and not running it is the entire point
to serialize operators), "resolving" the XComArg in this case would
merely produce some kind of quasi-meaningful string representation,
instead of the actual value we'd get in the worker.

Also note that this only affects a very small number of cases, since
once a worker is run for the task instance, RenderedTaskInstanceFields
would store the real resolved value and take over UI representation,
avoiding this fake resolving logic to be accessed at all.

(cherry picked from commit 3e01c0d)
jedcunningham pushed a commit that referenced this pull request Sep 27, 2022
This is useful for cases where we want to resolve an XCom without
running a worker, e.g. to display the value in UI.

Since we don't want to actually call the mapper function in this case
(the function is arbitrary code, and not running it is the entire point
to serialize operators), "resolving" the XComArg in this case would
merely produce some kind of quasi-meaningful string representation,
instead of the actual value we'd get in the worker.

Also note that this only affects a very small number of cases, since
once a worker is run for the task instance, RenderedTaskInstanceFields
would store the real resolved value and take over UI representation,
avoiding this fake resolving logic to be accessed at all.

(cherry picked from commit 3e01c0d)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants