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
self._clean()
    def teardown_method(self) -> None:
        self._clean()
    @pytest.mark.parametrize(
        "expected_query_count, mark_success",
        [
            
            (12, False),
            (7, True),
        ],
    )
    def test_execute_queries_count(self, expected_query_count, mark_success, create_dummy_dag):
        _, task = create_dummy_dag()
        with create_session() as session:
            ti = TI(task=task, execution_date=datetime.datetime.now())
            ti.state = State.RUNNING
            session.merge(ti)
        
        
        expected_query_count_based_on_db = (
            expected_query_count + 1
            if session.bind.dialect.name == "mssql" and expected_query_count > 0 and not mark_success
            else expected_query_count
        )
        with assert_queries_count(expected_query_count_based_on_db):
            ti._run_raw_task(mark_success=mark_success)
    def test_execute_queries_count_store_serialized(self, create_dummy_dag):