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
return
        except AirflowSkipException as e:
            
            
            if e.args:
                self.log.info(e)
            self.refresh_from_db(lock_for_update=True)
            self.state = State.SKIPPED
        except AirflowRescheduleException as reschedule_exception:
            self.refresh_from_db()
            self._handle_reschedule(actual_start_date, reschedule_exception, test_mode)
            return
        except (AirflowFailException, AirflowSensorTimeout) as e:
            
            
            self.refresh_from_db()
            self.handle_failure(e, test_mode, force_fail=True, error_file=error_file)
            raise
        except AirflowException as e:
            self.refresh_from_db()
            
            
            if self.state in {State.SUCCESS, State.FAILED}:
                return
            else:
                self.handle_failure(e, test_mode, error_file=error_file)
                raise
        except (Exception, KeyboardInterrupt) as e:
            self.handle_failure(e, test_mode, error_file=error_file)
            raise