GowthamiCC opened a new issue, #76549: URL: https://github.com/apache/airflow/issues/76549
### Under which category would you file this issue? Providers ### Apache Airflow version 3.3.0 (open source, Helm on Kubernetes) ### What happened and how to reproduce it? CalendarService._get_planned_dag_runs calls _should_calculate_planned_runs, which returns False when no historical runs fall inside the requested range. In Daily mode the range is the whole year, so planned runs show. In Hourly mode the range is one month, so months with no past runs show “No runs”, even though the Dag has planned runs there. **Steps to reproduce:** - Approach 1 Airflow 3.3.0 with a custom timetable plugin that returns run dates from an external Postgres calendar table. The table has dates through the end of 2026. The Dag has at least one completed run in Nov 2026 (a success on Nov 5). Open the Dag, go to the Calendar tab, and choose Daily. Planned runs show from Nov through Dec. Switch to Hourly. Nov 2026 shows the success and planned cells after it. Go to Dec 2026. It shows “No runs”, although Daily shows planned runs for December. Expected: Hourly shows planned runs for Dec as Daily does. Expected: planned runs appear in Hourly regardless of whether the month already has history. **Steps to reproduce:** -Approach 2 Repro: Same Dag with a cron schedule and one past run in November. Open Calendar > Hourly > the next month. No planned runs appear. In Daily they do. Suggested fix: compute planned runs from the Dag’s last known run overall, not only from runs inside the filter range. <img width="1600" height="900" alt="Image" src="https://github.com/user-attachments/assets/168346ee-c92e-4658-8097-52028db3ea5a" /> <img width="1600" height="900" alt="Image" src="https://github.com/user-attachments/assets/ef9114f3-21ae-4e63-96e1-3960b8d43b6f" /> <img width="1600" height="900" alt="Image" src="https://github.com/user-attachments/assets/b12162c5-5b87-4e25-9a87-d880d0522ebf" /> ### What you think should happen instead? The Hourly view should show planned runs for every month in the Dag’s schedule, including months with no historical runs, exactly as the Daily view does. A month should show “No runs” only if the Dag really has no planned runs there (for example, after end_date or beyond the end of the timetable). Planned runs should be computed from the Dag’s latest known run, or from its timetable and start_date, not only from runs that fall inside the month currently being viewed. ### Operating System _No response_ ### Deployment Official Apache Airflow Helm Chart ### Apache Airflow Provider(s) _No response_ ### Versions of Apache Airflow Providers _No response_ ### Official Helm Chart version Not Applicable ### Kubernetes Version _No response_ ### Helm Chart configuration _No response_ ### Docker Image customizations _No response_ ### Anything else? _No response_ ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
