Currently we use execution-date when generating the command to send via executor in https://github.com/apache/airflow/blob/9c94b72d440b18a9e42123d20d48b951712038f9/airflow/models/taskinstance.py#L420-L436

We should replace the execution_date in their to run_id instead and handle the corresponding changes needs on the executor and worker.
tests/models/test_taskinstance.py
try:
                ti.run()
            except AirflowException:
                pass
        ti = TI(task=task, execution_date=timezone.utcnow())
        assert ti.try_number == 1
        
        run_with_error(ti)
        assert ti.state == State.UP_FOR_RETRY
        assert ti.try_number == 2
        
        run_with_error(ti)
        assert ti.state == State.UP_FOR_RETRY
        
        time.sleep(3)
        run_with_error(ti)
        assert ti.state == State.FAILED
    def test_retry_handling(self, dag_maker):
        """
        Test that task retries are handled properly
        """
        expected_rendered_ti_fields = {'env': None, 'bash_command': 'echo test_retry_handling; exit 1'}
        with dag_maker(dag_id='test_retry_handling') as dag:
            task = BashOperator(
                task_id='test_retry_handling_op',
                bash_command='echo {{dag.dag_id}}; exit 1',
                retries=1,
                retry_delay=datetime.timedelta(seconds=0),
            )
        def run_with_error(ti):