-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
Add task failed dependencies to details page. #38449
Conversation
I am getting below error in tests. It seems using
|
From what I understand some of the methods like |
Also, the task_failed_deps really only matters when the task is in |
ea1537f
to
dec2a99
Compare
IMO, making this check for None state also helps in catching issues like depends_on_past=True, execution date is in future etc. where task doesn't get to scheduled state. After the separate endpoint I also realized the implementation has more code than expected initially. I tried timing the check and it comes around 2-3 milliseconds with 10 dags so it's not as costly as I thought from getting dagbag from airflow app but just had the session based subtle issues. So I am open to keeping this as additional field to the existing endpoint like first commit or as a separate endpoint or check to be done only when passing a query parameter to existing task instance endpoint like check_dependencies=True. Thanks |
airflow/www/static/js/dag/details/taskInstance/TaskFailedDependency.tsx
Outdated
Show resolved
Hide resolved
I really like this extension in the view! Looking forward for fixes and removal of merge conflict... then would like to review. |
@tirkarthi Could you still rebase this? It would be great to get this merged soon so we can migrate all the /task pages. |
dec2a99
to
0efdc5d
Compare
@bbovenzi Sorry, I got held up at work. Fixed the code comments to use a spinner like other pages and an alert on API error. Did a basic test with a mapped task which also seems to be working as expected. Screenshots as below. Please note that I have enabled this check for tasks in None state as well as there are cases like execution_date is greater than end_date that will be useful. In the old page I see this table always being shown so please let me know if this is needed always or task in scheduled state or task in None/scheduled state. Spinner during API call API failed : Table rendering : |
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.
I like it and it is a good next step to deprecate the leftover legacy task detail pages. Cool!
I found (besides small comments) a small glitch: The DAG dependecy panel is not included in the auto-refresh. I needed to hit F5 to get an update while status changed from "None" to "Scheduled" and "queued" - the page and panel was only refreshed when task went to "Success".
I think it would be reasonable to refresh the panel also together with the Auto Refresh cycle.
From manual testing - otherwise found no other glitch and LIKE it!
0efdc5d
to
03e253f
Compare
@jscheffl Thanks, updated the version number and regenerated the files. I have looked into auto refresh and found a pattern where auto refresh is done based on |
I think |
…ilable during serialization.
03e253f
to
f446844
Compare
@bbovenzi Thanks, added auto refresh as suggested and rebased with latest main branch. |
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.
Did a regression test - great - LIKE it!
* Add task failed dependencies to details page. * Fix tests. * Explicitly pass attached session for reuse so that the session is available during serialization. * Use separate endpoint for task failed dependencies. * Fix conditional. * Add spinner during loading and handle error scenario. * Update version number in API. * Auto refresh dependencies.
Show task failed dependencies when task is in scheduled or none state. None state helps to capture issues when the execution date is in future, depends_on_past fails with past task instance a failure etc.
closes: #38189
related: #38189
Scheduled state :
None state :