-
Notifications
You must be signed in to change notification settings - Fork 14.6k
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
Introduce mechanism to support multiple executor configuration #37635
Introduce mechanism to support multiple executor configuration #37635
Conversation
This commit delivers an isolated component of AIP-61: https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-61+Hybrid+Execution It updates the executor configuration logic to allow configuring multiple executors (and aliases per executor) in a list form (comma delimited), as well as associated methods for core Airflow code to load the default executor (first executor in the list) or any other configured executor. Testing is included with the changes but not documentation, because the feature is not yet complete and is currently disabled. User facing documentation will be delivered when the entire AIP-61 feature is released.
43b6b7a
to
de6dca1
Compare
Converting to draft while I work on test failures ❤️ |
Executor data is now more aggressively cached and this was failing some tests that are trying to override the executor conf. Moved the caches to the module level and added some reload(executor_loader) calls to empty the caches for certain tests that require it.
This unit test was broken to begin with and was working mostly by chance. Updated the patch to be the correct method to mock and test is passing again
d04cb0c
to
68b920b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing really surprising - good first approach to get configuration working for multiple executors. LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just left a comment asking for some clarification.
Do you have time to have another look and approve? I've made your suggestion and rebased and tests are green |
…e#37635) * Introduce mechanism to support multiple executor configuration This commit delivers an isolated component of AIP-61: https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-61+Hybrid+Execution It updates the executor configuration logic to allow configuring multiple executors (and aliases per executor) in a list form (comma delimited), as well as associated methods for core Airflow code to load the default executor (first executor in the list) or any other configured executor. Testing is included with the changes but not documentation, because the feature is not yet complete and is currently disabled. User facing documentation will be delivered when the entire AIP-61 feature is released. * Move caches to module and use reloads to empty them in tests Executor data is now more aggressively cached and this was failing some tests that are trying to override the executor conf. Moved the caches to the module level and added some reload(executor_loader) calls to empty the caches for certain tests that require it. * Fix TestBaseSensor::test_prepare_for_execution This unit test was broken to begin with and was working mostly by chance. Updated the patch to be the correct method to mock and test is passing again * More reloads * Comment grammar fix * New code needed a reload of executor loader module * Fix unit test is-->are
This commit delivers an isolated component of AIP-61: https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-61+Hybrid+Execution
It updates the executor loader logic to allow configuring multiple executors (and aliases per executor) in a list form (comma delimited) from airflow configuration; as well as associated methods for core Airflow code to load the default executor (first executor in the list) or any other configured executor.
Testing is included with the changes but not documentation, because AIP-61 is not yet complete. The code delivered is behind gating logic that will prohibit users from accidentally using it. User facing documentation will be delivered when the entire AIP-61 feature is fully completed.
^ 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.