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
"""
        test that running task with mark_success param update task state
        as SUCCESS without running task despite it fails dependency checks.
        """
        non_runnable_state = (set(State.task_states) - RUNNABLE_STATES - set(State.SUCCESS)).pop()
        _, task = create_dummy_dag(
            dag_id='test_mark_non_runnable_task_as_success',
            task_id='test_mark_non_runnable_task_as_success_op',
        )
        ti = TI(task=task, execution_date=timezone.utcnow(), state=non_runnable_state)
        
        with create_session() as session:
            session.add(ti)
            session.commit()
        ti.run(mark_success=True)
        assert ti.state == State.SUCCESS
    def test_run_pooling_task(self, create_dummy_dag):