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 not test_mode:
            session.add(Log(State.FAILED, self))
        
        session.add(TaskFail(task, self.execution_date, self.start_date, self.end_date))
        
        
        
        
        
        
        
        
        
        if force_fail or not self.is_eligible_to_retry():
            self.state = State.FAILED
            email_for_state = task.email_on_failure
        else:
            self.state = State.UP_FOR_RETRY
            email_for_state = task.email_on_retry
        self._log_state('Immediate failure requested. ' if force_fail else '')
        if email_for_state and task.email:
            try:
                self.email_alert(error)
            except Exception:
                self.log.exception('Failed to send email to: %s', task.email)
        if not test_mode:
            session.merge(self)
        session.commit()
    @provide_session
    def handle_failure_with_callback(