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

Update ImportError items instead of deleting and recreating them #22928

Merged
merged 4 commits into from
Apr 14, 2022

Conversation

ephraimbuddy
Copy link
Contributor

Each time a dag with import error is parsed, the ImportError record is deleted
and a new record is created. For example, say I have two dags with import errors,
initially, the import error id will be dag_1:import_error.id=1, dag2:import_error.id=2.
In the next dag parsing, the import error will increase. dag_1:import_error.id=3,
dag_2:import_error.id=4 and it continues like that.
This makes it impossible for the get import error REST API endpoint to be consistent

This PR fixes this issue by updating the existing record and creating a new one if no record
exists

@boring-cyborg boring-cyborg bot added the area:Scheduler including HA (high availability) scheduler label Apr 11, 2022
airflow/dag_processing/processor.py Outdated Show resolved Hide resolved
airflow/dag_processing/processor.py Outdated Show resolved Hide resolved
@ephraimbuddy ephraimbuddy force-pushed the fix-dagimporterror-recreation branch 2 times, most recently from c1281d6 to 7e155a9 Compare April 12, 2022 09:14
Each time a dag with import error is parsed, the ImportError record is deleted
and a new record is created. For example, say I have two dags with import errors,
initially, the import error id will be dag_1:import_error.id=1, dag2:import_error.id=2.
In the next dag parsing, the import error will increase. dag_1:import_error.id=3,
dag_2:import_error.id=4 and it continues like that.
This makes it impossible for the get import error REST API endpoint to be consistent

This PR fixes this issue by updating the existing record and creating a new one if no record
exists
@ephraimbuddy ephraimbuddy force-pushed the fix-dagimporterror-recreation branch from 7e155a9 to 08cb0e4 Compare April 13, 2022 11:33
@github-actions
Copy link

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actions github-actions bot added the full tests needed We need to run full set of tests for this PR to merge label Apr 14, 2022
@potiuk potiuk merged commit 84177a6 into apache:main Apr 14, 2022
@jedcunningham jedcunningham added the type:improvement Changelog: Improvements label Apr 14, 2022
@jedcunningham jedcunningham deleted the fix-dagimporterror-recreation branch April 14, 2022 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:Scheduler including HA (high availability) scheduler full tests needed We need to run full set of tests for this PR to merge type:improvement Changelog: Improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants