apache/superset · error · ReportScheduleExecutorNotFoundError

Report Schedule executor user %(username)s was not found.

Error message

Report Schedule executor user %(username)s was not found.

What it means

Error "Report Schedule executor user %(username)s was not found." thrown in apache/superset.

Source

Thrown at superset/commands/report/alert.py:235

            if app.config["MUTATE_ALERT_QUERY"]:
                limited_rendered_sql = (
                    self._report_schedule.database.mutate_sql_based_on_config(
                        limited_rendered_sql
                    )
                )

            executor, username = get_executor(  # pylint: disable=unused-variable
                executors=app.config["ALERT_REPORTS_EXECUTORS"],
                model=self._report_schedule,
            )
            user = security_manager.find_user(username)
            # A deleted/disabled executor user makes find_user return None. Raise
            # the dedicated error so the handler below re-surfaces it instead of
            # masking it as an opaque AlertQueryError (or letting the missing user
            # surface as a NoneType error from the downstream auth flow).
            if user is None:
                raise ReportScheduleExecutorNotFoundError(username)

            with override_user(user):
                # Run table-level authorization as the executing user against
                # the rendered SQL.
                try:
                    security_manager.raise_for_access(
                        database=self._report_schedule.database,
                        sql=rendered_sql,
                        force_dataset_match=True,
                    )
                except SupersetSecurityException as ex:
                    raise AlertQueryError(
                        message=_("Alert query failed the authorization check")
                    ) from ex
                start = default_timer()
                df = self._report_schedule.database.get_df(sql=limited_rendered_sql)
                stop = default_timer()
                logger.info(

View on GitHub (pinned to f4587218dd)

Solutions

  1. Set the report schedule's working/executor user to an existing account.
  2. Recreate the missing user or pick another owner for the schedule.

When it happens

Trigger: The user configured to execute the report schedule no longer exists.

Common situations: Executing an alert/report schedule whose configured creator username no longer exists in the user table.


AI-assisted analysis of apache/superset@f4587218dd (2026-08-14). Data as JSON: /api/errors/5f1cfe519f93fa4b. Report an issue: GitHub.