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

Ensure that we can still render log templates even when a DagRun hasn't yet started. #46720

Merged
merged 1 commit into from
Feb 13, 2025

Conversation

ashb
Copy link
Member

@ashb ashb commented Feb 13, 2025

It doesn't really make logical sense to look at logs in this case, but
creating the log filename in the API server shouldn't fail for this.

The problem was that the TaskSDK's DagRun model validated that start_date
was non-null, which makes sense for it (as a TI should never make it to a
worker unless it's started!) but didn't make sense for the context we were
using it in. The fix here is to not build a full context object but just the
minimal dictionary of items we explicitly need/allow in log templates.

@ashb ashb added the AIP-83 Remove Execution Date Unique Constraint from DAG Run label Feb 13, 2025
Copy link
Member

@pierrejeambrun pierrejeambrun left a comment

Choose a reason for hiding this comment

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

Thanks

Copy link
Contributor

@amoghrajesh amoghrajesh left a comment

Choose a reason for hiding this comment

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

Nice thanks!
I like the simplification by using render_template too

ashb added a commit that referenced this pull request Feb 13, 2025
This PR itself doesn't contain any tests, those happen in #46720 (due to the
change in how we create test DagRuns via the fixture), but that is failing
until we make this change and I don't want the provider change to be in the
same PR as the core log rendering one.
@ashb ashb changed the base branch from main to openlineage-null-logical-date February 13, 2025 12:08
@ashb ashb force-pushed the new-ui-unstarted-tilog-exception branch from 046b20d to d6e2fd8 Compare February 13, 2025 12:08
@ashb

This comment was marked as resolved.

ashb added a commit that referenced this pull request Feb 13, 2025
This PR itself doesn't contain any tests, those happen in #46720 (due to the
change in how we create test DagRuns via the fixture), but that is failing
until we make this change and I don't want the provider change to be in the
same PR as the core log rendering one.
Base automatically changed from openlineage-null-logical-date to main February 13, 2025 12:14
@ashb ashb requested a review from mobuchowski as a code owner February 13, 2025 12:14
@ashb ashb force-pushed the new-ui-unstarted-tilog-exception branch from 23a0f69 to a6e3d68 Compare February 13, 2025 12:15
@ashb ashb removed the request for review from mobuchowski February 13, 2025 12:15
…'t yet started.

It doesn't really make logical sense to look at logs in this case, but
creating the log filename in the API server shouldn't fail for this.

The problem was that the TaskSDK's DagRun model validated that `start_date`
was non-null, which makes sense for it (as a TI should never make it to a
worker unless it's started!) but didn't make sense for the context we were
using it in. The fix here is to not build a full context object but just the
minimal dictionary of items we explicitly need/allow in log templates.
@ashb ashb force-pushed the new-ui-unstarted-tilog-exception branch from a6e3d68 to af68918 Compare February 13, 2025 12:52
@ashb ashb merged commit 739f1cc into main Feb 13, 2025
91 checks passed
@ashb ashb deleted the new-ui-unstarted-tilog-exception branch February 13, 2025 16:26
ambika-garg pushed a commit to ambika-garg/airflow that referenced this pull request Feb 17, 2025
…#46722)

This PR itself doesn't contain any tests, those happen in apache#46720 (due to the
change in how we create test DagRuns via the fixture), but that is failing
until we make this change and I don't want the provider change to be in the
same PR as the core log rendering one.
ambika-garg pushed a commit to ambika-garg/airflow that referenced this pull request Feb 17, 2025
…'t yet started. (apache#46720)

It doesn't really make logical sense to look at logs in this case, but
creating the log filename in the API server shouldn't fail for this.

The problem was that the TaskSDK's DagRun model validated that `start_date`
was non-null, which makes sense for it (as a TI should never make it to a
worker unless it's started!) but didn't make sense for the context we were
using it in. The fix here is to not build a full context object but just the
minimal dictionary of items we explicitly need/allow in log templates.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AIP-83 Remove Execution Date Unique Constraint from DAG Run area:logging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants