Repository navigation
Handle missing/null serialized DAG dependencies - #16393
Conversation
potiuk
left a comment
There was a problem hiding this comment.
Nice. Could you please add a regression test for that and see that it failed before ? I am always suspicious of changes that have no tests :D
|
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. |
d969197 to
38831bd
Compare
|
Test added! |
|
tests failing :( |
38831bd to
9ffe495
Compare
|
@uranusjr Pylint failure: Probably rebasing on Master might fix it |
When a serialized DAG is missing a "dag_dependencies" field (possible when upgrading), PostgreSQL would return NULL when accessing the field with a JSON function. This value would fail subsequent code, so we need some logic to handle it.
9ffe495 to
2e3243d
Compare
|
Rebased and now the linter is passing. There are a couple of failures in Helm Chart tests: I have no idea what went wrong; seems like flaky network issues? |
Yup, ran those tests locally, all green. |
When a serialized DAG is missing a
dag_dependenciesfield (possible when upgrading), PostgreSQL would return NULL when accessing the field with a JSON function. This value would fail subsequent code, so we need some logic to handle it.I took the oppertunity to rewrite the entire
get_dag_dependenciesfunction to use iterators. This should slightly improve performance.Fix #16356.