Fix ti.start_date is set even in pre-running state by ti.set_state
related: https://github.com/apache/airflow/issues/38632 and https://github.com/apache/airflow/pull/34771#discussion_r1542257954
From the discussion of above PR, ti.start_date is normally set when ti transitions to the RUNNING state. But the current ti.set_state method has set start_date even though the state is prior to RUNNING.
This creates an unstable situation where start_date is present in SCHEDULED and QUEUED ti generated by backfilling, but not in ti that is not.
This is an unnatural behavior for ti's state transitions, so we try to fix it.
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in newsfragments.
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 5 days if no further activity occurs. Thank you for your contributions.