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

Fix #2735 - Simplify Airflow properties extraction #2749

Merged
merged 3 commits into from
Feb 14, 2022

Conversation

pmbrull
Copy link
Collaborator

@pmbrull pmbrull commented Feb 14, 2022

Describe your changes :

This PR fixes #2735

We were encountering a known issue (apache/airflow#20875) when trying to extract DAG and Task properties using airflow's serialiser. That issue was fixed after 2.2.3 release (so we would still need to wait for 2.2.4).

In this PR we are ditching the serialiser completely and instead, we use Airflow models for DAG, DagRun and TaskInstance to extract all necessary data. As all this information is available in the context of the lineage and callbacks, we can just pick this info up from the actual Airflow objects.

This lets us play safely on 2.2.3. However, for Airflow 1.10.15, further work is required. More info #2748

Thanks!

Type of change :

  • Bug fix
  • Improvement
  • New feature
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation

Frontend Preview (Screenshots) :

For frontend related change, please link screenshots of your changes preview! Optional for backend related changes.

Checklist:

  • I have read the CONTRIBUTING document.
  • I have performed a self-review of my own.
  • I have tagged my reviewers below.
  • I have commented on my code, particularly in hard-to-understand areas.
  • My changes generate no new warnings.
  • I have added tests that prove my fix is effective or that my feature works.
  • All new and existing tests passed.

Reviewers

@@ -91,6 +91,7 @@ services:

networks:
local_app_net:
name: ometa_network
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is helpful when hooking up different docker-compose runs. I needed it when trying to align the services between a compose running OM and another one running Airflow 1.10.15

@github-actions
Copy link
Contributor

The Python checkstyle failed.

Please run make py_format in the root of your repository and commit the changes to this PR.
You can also use pre-commit to automate the Python code formatting.

You can install the pre-commit hooks with make install_test precommit_install.

@sonarqubecloud
Copy link

[open-metadata-ingestion] Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@pmbrull pmbrull merged commit 76f4ccd into open-metadata:main Feb 14, 2022
@pmbrull pmbrull deleted the issue-2735 branch February 14, 2022 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Airflow Lineage DAG serializer
2 participants