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.
airflow/models/taskinstance.py
if activate_dag_runs is not None:
        warnings.warn(
            "`activate_dag_runs` parameter to clear_task_instances function is deprecated. "
            "Please use `dag_run_state`",
            DeprecationWarning,
            stacklevel=2,
        )
        if not activate_dag_runs:
            dag_run_state = False
    if dag_run_state is not False and tis:
        from airflow.models.dagrun import DagRun  
        dates_by_dag_id = defaultdict(set)
        for instance in tis:
            dates_by_dag_id[instance.dag_id].add(instance.execution_date)
        drs = (
            session.query(DagRun)
            .filter(
                or_(
                    and_(DagRun.dag_id == dag_id, DagRun.execution_date.in_(dates))
                    for dag_id, dates in dates_by_dag_id.items()
                )
            )
            .all()
        )
        for dr in drs:
            dr.state = dag_run_state
            dr.start_date = None
            if dag_run_state == State.QUEUED:
                dr.last_scheduling_decision = None
class TaskInstanceKey(NamedTuple):