Jkraft7 opened a new issue, #25237:
URL: https://github.com/apache/superset/issues/25237

   In our superset instance we use celery workers to get thumbnails. We run 
into an issue where if there is an empty/blank dashboard that exists. It causes 
selenium errors to continually occur whenever the thumbnail is attempted to be 
created in the celery worker which leads to massive cpu usage and blockers for 
other things (such as reports/alerts)
   
   It states selenium is timing out while trying to run the get_screenshot 
function.
   the error itself is:
   `
   Selenium timed out requesting url 
http://localhost:8080/superset/dashboard/260/?standalone=3
   Traceback (most recent call last):                                           
                                                                                
                                                                                
                               │
   │   File "/app/superset/utils/webdriver.py", line 187, in get_screenshot     
                                                                                
                                                                                
                                 │
   │     WebDriverWait(driver, self._screenshot_load_wait).until(               
                                                                                
                                                                                
                             │
   │   File 
"/usr/local/lib/python3.8/site-packages/selenium/webdriver/support/wait.py", 
line 80, in until                                                               
                                                                                
                    │
   │     raise TimeoutException(message, screen, stacktrace)                    
                                                                                
                                                                                
                                                     │
   │ selenium.common.exceptions.TimeoutException: Message:   
   
   ` 
   This error began occurring after the upgrade from 2.0.0 to 2.1.0. This can 
be detrimental to a celery worker as if there are not enough threads plus the 
users generate multiple blank/empty dashboards this can block all other 
activity in the celery worker.
   
   From my perspective it is exactly related to this: 
https://github.com/apache/superset/issues/17245
   except this is when we try to generate a thumbnail and not a report. These 
two functionalities should be running roughly the same logic i believe.
   
   #### How to reproduce the bug
   
   1. Ensure you have thumbnails enabled and are using a celery worker to 
generate them
   2. Create a dashboard with no charts
   3. Navigate to the Dashboards page
   4. Then check celery/k9s logs of it attempting to generate the thumbnail and 
you will see this error above occurring for the dashboards without the charts.
   
   ### Expected results
   
   Expect that the dashboard will just generate a blank screenshot or have some 
form of a default method to handle empty dashboards instead of throwing an 
error consistently.
   
   ### Actual results
   
   Error is thrown every time selenium attempts to screenshot the dashboard for 
the thumbnail
   
   #### Screenshots
   
   ![Screenshot 2023-09-05 at 4 25 39 
PM](https://github.com/apache/superset/assets/28743961/ee6de6af-7fc6-4b6a-a2b4-3e51afaec248)
   
   
   ### Environment
   
   (please complete the following information):
   
   - browser type and version: Chrome Driver/ Chrome 
   - superset version: `2.1.0`
   - python version: `3.8.16-slim`
   - node.js version: `16-slim`
   - any feature flags active:
   FEATURE_FLAGS = {
           "CLIENT_CACHE": False,
           "ENABLE_EXPLORE_JSON_CSRF_PROTECTION": False,
           "SQLLAB_BACKEND_PERSISTENCE": True,
           "THUMBNAILS": True,
           "THUMBNAILS_SQLA_LISTENERS": True,
           "LISTVIEWS_DEFAULT_CARD_VIEW": True,
           "DASHBOARD_RBAC": True,
           "DASHBOARD_NATIVE_FILTERS": True,
           "ENABLE_TEMPLATE_PROCESSING": True,
           "ALERT_REPORTS": True,
           "DASHBOARD_CROSS_FILTERS": True,
           # Allow for javascript controls components
           # this enables programmers to customize certain charts (like the
           # geospatial ones) by inputing javascript in controls. This exposes
           # an XSS security vulnerability
           "ENABLE_JAVASCRIPT_CONTROLS": False,
           "DRILL_TO_DETAIL": True,
           "GENERIC_CHART_AXES": True,
           "HORIZONTAL_FILTER_BAR": True,
       }
   ### Checklist
   
   Make sure to follow these steps before submitting your issue - thank you!
   
   - [ ] I have checked the superset logs for python stacktraces and included 
it here as text if there are any.
   - [ ] I have reproduced the issue with at least the latest released version 
of superset.
   - [ ] I have checked the issue tracker for the same issue and I haven't 
found one similar.
   
   ### Additional context
   
   Add any other context about the problem here.
   


-- 
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: notifications-unsubscr...@superset.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org
For additional commands, e-mail: notifications-h...@superset.apache.org

Reply via email to