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

Fix operator_extra_links property serialization in mapped tasks #31904

Merged

Conversation

hussein-awala
Copy link
Member

@hussein-awala hussein-awala commented Jun 14, 2023

closes: #31902

This PR checks if the operator_extra_links is defined as a class property to load the parameter from it instead of loading the property instance


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in newsfragments.

@hussein-awala hussein-awala changed the title [WIP] Fix operator_extra_links property serialization in mapped tasks Fix operator_extra_links property serialization in mapped tasks Jun 14, 2023
@eladkal eladkal added this to the Airlfow 2.6.3 milestone Jun 16, 2023
@eladkal eladkal added the type:bug-fix Changelog: Bug Fixes label Jun 16, 2023
@hussein-awala hussein-awala requested review from potiuk and uranusjr June 28, 2023 23:14
@@ -287,7 +287,7 @@ class BaseSerialization:
_datetime_types = (datetime.datetime,)

# Object types that are always excluded in serialization.
_excluded_types = (logging.Logger, Connection, type)
_excluded_types = (logging.Logger, Connection, type, property)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this one affect?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we don't exclude it, the serialized object will have both operator_extra_links (added by the method serialize_to_json with the method as value) and _operator_extra_links, also the property type should be excluded anyway because it is not deserialized.

@eladkal eladkal merged commit 3318212 into apache:main Jul 6, 2023
ephraimbuddy pushed a commit that referenced this pull request Jul 6, 2023
…1904)

* reproduce the problem in a unit test

* Fix operator_extra_links serialization

* replace fget by __get__

(cherry picked from commit 3318212)
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.

MappedOperator doesn't allow operator_extra_links instance property
4 participants