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/jobs/test_local_task_job.py
with failure_callback_called.get_lock():
                failure_callback_called.value += 1
            assert context['dag_run'].dag_id == 'test_mark_failure'
        def task_function(ti):
            assert ti.state == State.RUNNING
            os.kill(psutil.Process(os.getpid()).ppid(), signal.SIGTERM)
        with dag_maker(dag_id='test_mark_failure', start_date=DEFAULT_DATE, default_args={'owner': 'owner1'}):
            task = PythonOperator(
                task_id='test_on_failure',
                python_callable=task_function,
                on_failure_callback=failure_callback,
            )
        dag_maker.create_dagrun()
        ti = TaskInstance(task=task, execution_date=DEFAULT_DATE)
        ti.refresh_from_db()
        job1 = LocalTaskJob(task_instance=ti, ignore_ti_state=True, executor=SequentialExecutor())
        settings.engine.dispose()
        with timeout(10):
            job1.run()
        ti.refresh_from_db()
        assert failure_callback_called.value == 1
        assert "Received SIGTERM. Terminating subprocesses" in caplog.text
        assert "Task exited with return code 143" in caplog.text
    @pytest.mark.parametrize(
        "conf, dependencies, init_state, first_run_state, second_run_state, error_message",
        [