Added name field to template_fields in EmrServerlessStartJobOperator #35648
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes: #35341
Since self.name = name or self.config.pop("name", f"emr_serverless_job_airflow_{uuid4()}") code is in operator constructor, error occurs in specific situation .
As Taragolis showed well in below comment, if name param is not given and config is given no dict type, error occurs. For example, if config is given by upstream operator (like the example in below comment), error occurs because the type of config is PlainXComArg in this case . And it is a kind of bug which should be fixed.
If the problematic section of code is moved from constructor to execute method, the returned_value of upstream operator is converted to dict type (I do not know the exact principle but checked the fact). So the error above does not occur. So I moved the pop operation to execute method. And I think It might be what @Taragolis intended in his first guide.
I'm a beginner. If I am missing something, comments will make me better :)
^ 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.rstor{issue_number}.significant.rst, in newsfragments.