forked from apache/airflow
-
Notifications
You must be signed in to change notification settings - Fork 16
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
[AIRFLOW-5088][AIP-24][BackPort] Persisting serialized DAG in DB for webserver scalability #67
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
It implements the method proposed in AIP-24 to serialize DAG. It will be used in DAG persistency in DB to solve webserver scalability issue. (cherry picked from commit 2bd1a51ec75f680a6e6e2101bd948a78421a644a)
(cherry picked from commit 7ce34b2a959fc1f8322836f38f474a831e4901a1)
(cherry picked from commit c068c67c48d294a589b58be0d0ad8b657c361a77) (cherry picked from commit 04fbf2beac57dcf26b118ebbe5a2bf175ce08af8)
…matching date in DAG (cherry picked from commit be412522cb95a19a51b2f208ae8ebea76e8b667a)
(cherry picked from commit d030b10bec9cd0e468f36e97e131d497d5a43fc6)
- Code Cleanup for JSON columns - Test code to allow old mysql & sqlite versions (cherry picked from commit 1db8044f9d29edf25f2b8ad4cd21c496c243534a)
(cherry picked from commit d14497ff28d123d45d626019cabcbd977c5de79d)
This was a valid type for schedule_interval already, so we should continue supporting it (cherry picked from commit ec9d705f1a90790bdcb099196269c77d3cc3d53c) (cherry picked from commit 9805b4a183b87976dc33ae80c7e6a209849ba5d7) (cherry picked from commit f00d9237cd9224571e43bda67ad4dddfb009c402)
(cherry picked from commit 92d442d33dd8c81ea73026405d3978d133140807) (cherry picked from commit 7d371d329613c48deef0d8a812c817f2013db8f9)
(cherry picked from commit 549c1f9cd9ab0bfeac4f75fa713cbaae842a6e82)
(cherry picked from commit d0ce27e3f3b6046016800855ad2e57fa67d8b57f) (cherry picked from commit 50a60b6a026e6d6249f069944be86560d87a67ca)
(cherry picked from commit 5a84ca517cef0dacff23f57b360a554b461b5034)
To save start-up time (and memory) this changes the DabBag to not be populated by the webserver on start up - and when a specific dag is asked for it will be loaded on-demand from the SerializedDAG table. Co-Authored-By: Ash Berlin-Taylor <[email protected]>
(cherry picked from commit e91ad24b006823eadd6f3e21fc7cc5c8dd57b0d1)
(cherry picked from commit 3f08d2f986364315c3e43bde3524f12d069392ae)
…ache#6302) (cherry-picked from 1de210b)
ExtraOperatorLinks are supported if Plugins are registered for them (cherry picked from commit 9cb6e28) (cherry picked from commit 72c75860ecfcd1930f1dedc7a0c713f122ea51a5)
(cherry picked from commit 8a07aee3e5cf133c45ee4ae26aad6104c84502ab)
(cherry picked from commit 99a5c2e)
This was incorrectly removed while cherry-picking and resolving conflicts
schnie
approved these changes
Oct 24, 2019
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.
Make sure you have checked all steps below.
Jira
Description
*Backport of [AIRFLOW-5088][AIP-24] Persisting serialized DAG in DB for webserver scalability apache/airflow#5743 for v1-10- branches **
Based on [AIRFLOW-5088][AIP-24] Add DAG serialization using JSON apache/airflow#5701, this PR implements functionalities including writing serialized DAGs to DB in scheduler, reading DAGs from DB in webserver, controlled by [core] dagcached
The goal is to decouple webserver from the DAG folder, instead it reads everything from database.
Rendering template by functions is an exception, in that case it needs to re-import DAG, because functions are stringified in serialized DAG.
Tests
Commits
Documentation
Code Quality
flake8