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
with dag_maker('test_get_rendered_k8s_spec'):
            task = BashOperator(task_id='op1', bash_command="{{ task.task_id }}")
        ti = TI(task=task, execution_date=DEFAULT_DATE)
        patcher = mock.patch.object(ti, 'render_k8s_pod_yaml', autospec=True)
        fake_spec = {"ermagawds": "pods"}
        session = mock.Mock()
        with patcher as render_k8s_pod_yaml:
            rtif_get_k8s_pod_yaml.return_value = fake_spec
            assert ti.get_rendered_k8s_spec(session) == fake_spec
            rtif_get_k8s_pod_yaml.assert_called_once_with(ti, session=session)
            render_k8s_pod_yaml.assert_not_called()
            
            rtif_get_k8s_pod_yaml.return_value = None
            render_k8s_pod_yaml.return_value = fake_spec
            assert ti.get_rendered_k8s_spec(session) == fake_spec
            render_k8s_pod_yaml.assert_called_once()
    def test_set_state_up_for_retry(self, create_dummy_dag):
        dag, op1 = create_dummy_dag('dag')
        ti = TI(task=op1, execution_date=timezone.utcnow(), state=State.RUNNING)
        start_date = timezone.utcnow()
        ti.start_date = start_date
        ti.set_state(State.UP_FOR_RETRY)
        assert ti.state == State.UP_FOR_RETRY
        assert ti.start_date == start_date, "Start date should have been left alone"
        assert ti.start_date < ti.end_date
        assert ti.duration > 0
    def test_refresh_from_db(self):