lilotter45 opened a new issue, #41621: URL: https://github.com/apache/superset/issues/41621
### Bug description When a new Report is created that references a dashboard not previously included in any scheduled report, the first time the schedule runs, the report fails with a 404 error (and eventual timeout): ``` superset_app | 172.18.0.5 - - [01/Jul/2026:10:45:03 +0000] "GET /superset/dashboard/p/ARxNn14J31b/?standalone=3 HTTP/1.1" 404 2 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/149.0.7827.55 Safari/537.36" [...] superset_worker | [2026-07-01 10:47:06,856: ERROR/ForkPoolWorker-2] Timed out requesting url http://superset_app:8088/superset/dashboard/p/ARxNn14J31b/?standalone=3 superset_worker | Traceback (most recent call last): superset_worker | File "/app/superset/utils/webdriver.py", line 281, in get_screenshot superset_worker | element.wait_for() superset_worker | File "/app/.venv/lib/python3.10/site-packages/playwright/sync_api/_generated.py", line 20298, in wait_for superset_worker | self._sync( superset_worker | File "/app/.venv/lib/python3.10/site-packages/playwright/_impl/_sync_base.py", line 115, in _sync superset_worker | return task.result() superset_worker | File "/app/.venv/lib/python3.10/site-packages/playwright/_impl/_locator.py", line 741, in wait_for superset_worker | await self._frame.wait_for_selector( superset_worker | File "/app/.venv/lib/python3.10/site-packages/playwright/_impl/_frame.py", line 394, in wait_for_selector superset_worker | await self._channel.send( superset_worker | File "/app/.venv/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 69, in send superset_worker | return await self._connection.wrap_api_call( superset_worker | File "/app/.venv/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 563, in wrap_api_call superset_worker | raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None superset_worker | playwright._impl._errors.TimeoutError: Locator.wait_for: Timeout 120000ms exceeded. superset_worker | Call log: superset_worker | - waiting for locator(".standalone") to be visible superset_worker | superset_worker | [2026-07-01 10:47:07,045: ERROR/ForkPoolWorker-2] Screenshot failed after 126.91s - execution_id: 7ef33984-12e2-47cf-a6e8-93849d43624c ``` The second (or greater) time the report is run, it redirects (302), loads the dashboard and successfully sends an email. ``` superset_app | 1.2.3.4 - - [01/Jul/2026:10:50:03 +0000] "GET /superset/dashboard/p/ARxNn14J31b/?standalone=3 HTTP/1.1" 302 969 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/149.0.7827.55 Safari/537.36" [...] superset_worker | [2026-07-01 10:50:18,472: INFO/ForkPoolWorker-1] Screenshot capture took 18.33s - execution_id: 519690e9-759e-4d85-bd38-0b9bc3d1c050 superset_worker | [2026-07-01 10:50:18,473: INFO/ForkPoolWorker-1] building pdf superset_worker | [2026-07-01 10:50:22,363: INFO/ForkPoolWorker-1] Report sent to email, task_id: 519690e9-759e-4d85-bd38-0b9bc3d1c050, notification content is {'notification_type': 'Report', 'notification_source': <ReportSourceFormat.DASHBOARD: 'dashboard'>, 'notification_format': 'PDF', 'chart_id': None, 'dashboard_id': 14, 'owners': [Report Owner], 'slack_channels': [], 'execution_id': '519690e9-759e-4d85-bd38-0b9bc3d1c050'} ``` If a report is created using a dashboard that has previously been sent as a report, it will successfully send on the first attempt. Basically, the first time (ever) a dashboard is sent as a report, it will fail; on subsequent attempts, it will succeed. I have consistently seen this behavior with several different reports (with and without tabs, with and without report filters applied, pdf and images, etc.), so it does not appear to be driven by a specific dashboard attribute, at least not one that I've identified. ### Screenshots/recordings _No response_ ### Superset version 6.1.0 ### Python version I don't know ### Node version I don't know ### Browser Chrome ### Additional context ## Logs Logs from the same report that failed on the first attempt and succeeded on the second: - Logs for failed report: [superset_report_fail_logs.txt](https://github.com/user-attachments/files/29549284/superset_report_fail_logs.txt) - Logs for successful report: [superset_report_success_logs.txt](https://github.com/user-attachments/files/29549288/superset_report_success_logs.txt) ## Configuration ### Sessions ```python SESSION_SERVER_SIDE = True SESSION_TYPE = 'redis' SESSION_REDIS = Redis( host=REDIS_HOST, port=REDIS_PORT, db=5, ) SESSION_USE_SIGNER = True PERMANENT_SESSION_LIFETIME = timedelta(hours=24) SESSION_COOKIE_SECURE = True SESSION_COOKIE_HTTPONLY = True SESSION_COOKIE_SAMESITE = "Lax" ``` ### Feature flags ```python FEATURE_FLAGS = { "ALERT_REPORTS": True, "ALERT_REPORTS_FILTER": True, "ALERT_REPORT_TABS": True, "AUTH_ROLES_SYNC_AT_LOGIN": True, "DASHBOARD_RBAC": True, "ENABLE_TEMPLATE_PROCESSING": True, "PLAYWRIGHT_REPORTS_AND_THUMBNAILS": True, "RLS_IN_SQLLAB": True, "TAGGING_SYSTEM": True, } ``` ### Alerts/Reports & webdriver ```python ALERT_REPORTS_NOTIFICATION_DRY_RUN = False ALERT_REPORTS_DEFAULT_RETENTION = 30 ALERT_MINIMUM_INTERVAL = int(timedelta(minutes=60).total_seconds()) REPORT_MINIMUM_INTERVAL = int(timedelta(minutes=60).total_seconds()) SCREENSHOT_PLAYWRIGHT_WAIT_EVENT = "domcontentloaded" SCREENSHOT_PLAYWRIGHT_DEFAULT_TIMEOUT = int(timedelta(seconds=120).total_seconds()*1000) WEBDRIVER_BASEURL = "http://superset_app:8088/" WEBDRIVER_BASEURL_USER_FRIENDLY = f"https://{SUPERSET_WEB_SUBDOMAIN}.example.com" WEBDRIVER_OPTION_ARGS = ["--headless", "--marionette"] ``` ### Checklist - [x] I have searched Superset docs and Slack and didn't find a solution to my problem. - [x] I have searched the GitHub issue tracker and didn't find a similar bug report. - [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
