airflow icon indicating copy to clipboard operation
airflow copied to clipboard

Do not dynamically determine operator extra links for BatchOperator

Open laredoo opened this issue 7 months ago • 4 comments


This pull request is an extension of Do not dynamically determine op links for emr serverless start job operator. For the same reasons pointed out by @o-nikolas on his contribution, we extend the new behavior to AWS BatchOperator. It's also great to point that this PR should also addresses EmrServerlessStartJobOperator causes dag load failure when using XComArg under the context of BatchOperator.

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 airflow-core/newsfragments.

laredoo avatar Jun 04 '25 03:06 laredoo

Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide (https://github.com/apache/airflow/blob/main/contributing-docs/README.rst) Here are some useful points:

  • Pay attention to the quality of your code (ruff, mypy and type annotations). Our pre-commits will help you with that.
  • In case of a new feature add useful documentation (in docstrings or in docs/ directory). Adding a new operator? Check this short guide Consider adding an example DAG that shows how users should use it.
  • Consider using Breeze environment for testing locally, it's a heavy docker but it ships with a working Airflow and a lot of integrations.
  • Be patient and persistent. It might take some time to get a review or get the final approval from Committers.
  • Please follow ASF Code of Conduct for all communication including (but not limited to) comments on Pull Requests, Mailing list and Slack.
  • Be sure to read the Airflow Coding style.
  • Always keep your Pull Requests rebased, otherwise your build might fail due to changes not related to your commits. Apache Airflow is a community-driven project and together we are making it better 🚀. In case of doubts contact the developers at: Mailing List: [email protected] Slack: https://s.apache.org/airflow-slack

boring-cyborg[bot] avatar Jun 04 '25 03:06 boring-cyborg[bot]

Have you done some QA to ensure the links are greyed out as expected and available when expected? Including some screenshots would be nice if possible.

In this case, it makes sense that none of these links are greyed out, since it's mandatory to have a job_definition and job_queue to instanciate a new BatchOperator and we're tracking logs through CloudWatch Events.

image

laredoo avatar Jun 06 '25 13:06 laredoo

Have you done some QA to ensure the links are greyed out as expected and available when expected? Including some screenshots would be nice if possible.

In this case, it makes sense that none of these links are greyed out, since it's mandatory to have a job_definition and job_queue to instanciate a new BatchOperator and we're tracking logs through CloudWatch Events.

I see, fair enough, would be nice to see a case different than this one, to verify the behaviour for a case when the links used to be optional.

o-nikolas avatar Jun 06 '25 21:06 o-nikolas

Have you done some QA to ensure the links are greyed out as expected and available when expected? Including some screenshots would be nice if possible.

In this case, it makes sense that none of these links are greyed out, since it's mandatory to have a job_definition and job_queue to instanciate a new BatchOperator and we're tracking logs through CloudWatch Events.

I see, fair enough, would be nice to see a case different than this one, to verify the behaviour for a case when the links used to be optional.

In this case, the only optional link I could think of would be the CloudWatchEvents, and disabling it could be achieved by setting the awslogs_enabled as false, thus disabling the CloudWatchEventsLink.

By doing so it worked out smoothly, greying out the link as expected:

image

In the source code, this is basically how I am calling the operator:

image

laredoo avatar Jun 12 '25 18:06 laredoo

Awesome work, congrats on your first merged pull request! You are invited to check our Issue Tracker for additional contributions.

boring-cyborg[bot] avatar Jun 19 '25 23:06 boring-cyborg[bot]