-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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
Handle IntegrityError while creating TIs #10136
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
kaxil
reviewed
Aug 7, 2020
airflow/models/dagrun.py
Outdated
session.commit() | ||
except IntegrityError as err: | ||
self.log.info(str(err)) | ||
self.log.info(f'Hit IntegrityError while creating the TIs for ' |
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.
nit
Suggested change
self.log.info(f'Hit IntegrityError while creating the TIs for ' | |
self.log.info('Hit IntegrityError while creating the TIs for ' |
kaxil
approved these changes
Aug 7, 2020
mik-laj
approved these changes
Aug 7, 2020
kaxil
pushed a commit
that referenced
this pull request
Aug 14, 2020
While doing a trigger_dag from UI, DagRun gets created first and then WebServer starts creating TIs. Meanwhile, Scheduler also picks up the DagRun and starts creating the TIs, which results in IntegrityError as the Primary key constraint gets violated. This happens when a DAG has a good number of tasks. Also, changing the TIs array with a set for faster lookups for Dags with too many tasks. (cherry picked from commit 2102122)
kaxil
pushed a commit
that referenced
this pull request
Aug 15, 2020
While doing a trigger_dag from UI, DagRun gets created first and then WebServer starts creating TIs. Meanwhile, Scheduler also picks up the DagRun and starts creating the TIs, which results in IntegrityError as the Primary key constraint gets violated. This happens when a DAG has a good number of tasks. Also, changing the TIs array with a set for faster lookups for Dags with too many tasks. (cherry picked from commit 2102122)
kaxil
pushed a commit
that referenced
this pull request
Aug 15, 2020
While doing a trigger_dag from UI, DagRun gets created first and then WebServer starts creating TIs. Meanwhile, Scheduler also picks up the DagRun and starts creating the TIs, which results in IntegrityError as the Primary key constraint gets violated. This happens when a DAG has a good number of tasks. Also, changing the TIs array with a set for faster lookups for Dags with too many tasks. (cherry picked from commit 2102122)
msumit
added a commit
to twitter-forks/airflow
that referenced
this pull request
Sep 4, 2020
While doing a trigger_dag from UI, DagRun gets created first and then WebServer starts creating TIs. Meanwhile, Scheduler also picks up the DagRun and starts creating the TIs, which results in IntegrityError as the Primary key constraint gets violated. This happens when a DAG has a good number of tasks. Also, changing the TIs array with a set for faster lookups for Dags with too many tasks.
8 tasks
cfei18
pushed a commit
to cfei18/incubator-airflow
that referenced
this pull request
Mar 5, 2021
While doing a trigger_dag from UI, DagRun gets created first and then WebServer starts creating TIs. Meanwhile, Scheduler also picks up the DagRun and starts creating the TIs, which results in IntegrityError as the Primary key constraint gets violated. This happens when a DAG has a good number of tasks. Also, changing the TIs array with a set for faster lookups for Dags with too many tasks. (cherry picked from commit 2102122)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Background
While doing a trigger_dag from UI, DagRun gets created first and then webserver starts creating TIs. Meanwhile, Scheduler also picks up the DagRun and starts creating the TIs, which results in IntegrityError as the Primary key constraint gets violated. This happens when a DAG has a good number of tasks (500+).
Also, changing the TIs array with a set for faster lookups.