lanhhv84 opened a new issue, #38174: URL: https://github.com/apache/airflow/issues/38174
### Apache Airflow version 2.8.3 ### If "Other Airflow 2 version" selected, which one? _No response_ ### What happened? If the DAG is scheduled on Feb 29th, it will never be executed automatically on the scheduled date. <img width="375" alt="Screenshot 2024-03-15 at 5 06 54 PM" src="https://github.com/apache/airflow/assets/28800969/030cac01-723b-4082-b22d-63538cdd9e34"> <img width="423" alt="Screenshot 2024-03-15 at 4 14 01 PM" src="https://github.com/apache/airflow/assets/28800969/7fb8a939-1499-46db-9159-997aa66efa81"> ### What you think should happen instead? A new DAG run should be created and scheduled on Feb 29th ### How to reproduce schedule_interval = "0 0 29 2 *" dag = DAG(dag_name, default_args={}, schedule_interval=schedule_interval, sla_miss_callback=None, max_active_runs=1, concurrency=20 ) ### Operating System Linux ### Versions of Apache Airflow Providers 2.8.3 ### Deployment Official Apache Airflow Helm Chart ### Deployment details _No response_ ### Anything else? This is the log when I tried to force scheduling ``` Traceback (most recent call last): File "/usr/local/bin/airflow", line 8, in <module> sys.exit(main()) File "/usr/local/lib/python3.8/site-packages/airflow/__main__.py", line 57, in main args.func(args) File "/usr/local/lib/python3.8/site-packages/airflow/cli/cli_config.py", line 49, in command return func(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/airflow/utils/cli.py", line 114, in wrapper return f(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/airflow/utils/providers_configuration_loader.py", line 55, in wrapped_function return func(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/airflow/cli/commands/dag_command.py", line 164, in dag_trigger message = api_client.trigger_dag( File "/usr/local/lib/python3.8/site-packages/airflow/api/client/local_client.py", line 34, in trigger_dag dag_run = trigger_dag.trigger_dag( File "/usr/local/lib/python3.8/site-packages/airflow/api/common/trigger_dag.py", line 125, in trigger_dag triggers = _trigger_dag( File "/usr/local/lib/python3.8/site-packages/airflow/api/common/trigger_dag.py", line 74, in _trigger_dag data_interval = dag.timetable.infer_manual_data_interval(run_after=logical_date) File "/usr/local/lib/python3.8/site-packages/airflow/timetables/interval.py", line 166, in infer_manual_data_interval end = self._align_to_prev(run_after) File "/usr/local/lib/python3.8/site-packages/airflow/timetables/_cron.py", line 141, in _align_to_prev prev_time = self._get_prev(current) File "/usr/local/lib/python3.8/site-packages/airflow/timetables/_cron.py", line 118, in _get_prev scheduled = cron.get_prev(datetime.datetime) File "/usr/local/lib/python3.8/site-packages/croniter/croniter.py", line 129, in get_prev return self._get_next(ret_type or self._ret_type, is_prev=True) File "/usr/local/lib/python3.8/site-packages/croniter/croniter.py", line 205, in _get_next result = self._calc(self.cur, expanded, File "/usr/local/lib/python3.8/site-packages/croniter/croniter.py", line 463, in _calc raise CroniterBadDateError("failed to find prev date") ``` ### Are you willing to submit PR? - [X] 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]
