Skip to content

[AIRFLOW-5710] Optionally raise exception on unused operator arguments.#6332

Merged
milton0825 merged 1 commit into
apache:masterfrom
jmcarp:optional-raise-unused-arguments
Oct 23, 2019
Merged

[AIRFLOW-5710] Optionally raise exception on unused operator arguments.#6332
milton0825 merged 1 commit into
apache:masterfrom
jmcarp:optional-raise-unused-arguments

Conversation

@jmcarp
Copy link
Copy Markdown
Contributor

@jmcarp jmcarp commented Oct 14, 2019

Make sure you have checked all steps below.

Jira

  • My PR addresses the following Airflow Jira issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"
    • https://issues.apache.org/jira/browse/AIRFLOW-5710
    • In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-XXX], code changes always need a Jira issue.
    • In case you are proposing a fundamental code change, you need to create an Airflow Improvement Proposal (AIP).
    • In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

Description

  • Here are some details about my PR, including screenshots of any UI changes:

My team doesn't always notice warnings for unused operator arguments, and the behavior in airflow 2.0 (raising an exception) would be useful to us. This patch adds an ALLOW_ILLEGAL_ARGUMENTS configuration option that defaults to True, and if False raises an exception on unused arguments.

Tests

  • My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

  • My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters (not including Jira issue reference)
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

Documentation

  • In case of new functionality, my PR adds documentation that describes how to use it.
    • All the public functions and the classes in the PR contain docstrings that explain what it does
    • If you implement backwards incompatible changes, please leave a note in the Updating.md so we can assign it to a appropriate release

@codecov-io
Copy link
Copy Markdown

codecov-io commented Oct 14, 2019

Codecov Report

Merging #6332 into master will decrease coverage by 0.19%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##           master    #6332     +/-   ##
=========================================
- Coverage   80.31%   80.12%   -0.2%     
=========================================
  Files         616      616             
  Lines       35812    35814      +2     
=========================================
- Hits        28763    28696     -67     
- Misses       7049     7118     +69
Impacted Files Coverage Δ
airflow/models/baseoperator.py 95.65% <ø> (+0.02%) ⬆️
airflow/kubernetes/volume_mount.py 44.44% <0%> (-55.56%) ⬇️
airflow/kubernetes/volume.py 52.94% <0%> (-47.06%) ⬇️
airflow/kubernetes/pod_launcher.py 45.25% <0%> (-46.72%) ⬇️
airflow/kubernetes/kube_client.py 33.33% <0%> (-41.67%) ⬇️
...rflow/contrib/operators/kubernetes_pod_operator.py 70.14% <0%> (-28.36%) ⬇️
airflow/jobs/scheduler_job.py 74.43% <0%> (+1.2%) ⬆️
airflow/utils/dag_processing.py 58.56% <0%> (+1.99%) ⬆️
airflow/executors/__init__.py 67.34% <0%> (+4.08%) ⬆️
... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 03eede0...70d2a93. Read the comment docs.

@mik-laj
Copy link
Copy Markdown
Member

mik-laj commented Oct 14, 2019

Can you create a ticket and add a short note in the documentation? The ticket will allow us to easier manage relaase, and the documentation will allow other people to use this feature.

@jmcarp jmcarp force-pushed the optional-raise-unused-arguments branch from 0d54b19 to 70d2a93 Compare October 21, 2019 15:59
@jmcarp jmcarp changed the title Optionally raise exception on unused operator arguments. [AIRFLOW-5710] Optionally raise exception on unused operator arguments. Oct 21, 2019
@milton0825 milton0825 merged commit e9d65e3 into apache:master Oct 23, 2019
default_ram = 512
default_disk = 512
default_gpus = 0
allow_illegal_arguments = True
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Shouldn't be here a short note explaining what this setting does?
Something like
# When set to False raise exception on unused operator arguments

Copy link
Copy Markdown
Member

@mik-laj mik-laj Oct 25, 2019

Choose a reason for hiding this comment

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

I added in the separate PR.
#6435

@jeesim2
Copy link
Copy Markdown

jeesim2 commented Nov 5, 2019

@OmerJog I am new to airflow and confused with allow_illegal_arguments option.
With airflow version 1.10.0 I can't not pass arguments to DAGS by conf.
The default airflow.cfg event don't have allow_illegal_arguments property.

At master branch, there allow_illegal_arguments option exists again.
My understanding is trigger a dag with custom conf is completely impossible from 1.10.0.

So, How can I trigger a DAG with some arguments?
Giving job parameters when trigger a job is very common when using Jenkins.
Is there any alternatives?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants