mistercrunch commented on PR #33300:
URL: https://github.com/apache/superset/pull/33300#issuecomment-2905783843

   As I mentioned I spent some cycles hacking a fix for it here too 
https://github.com/apache/superset/pull/31315, I believe the solution works but 
need thorough tested. It's not clean but I believe it releases connections. 
It's not elegant but may work.
   
   Few related points that were not touched here:
   - if you use connection pools, I think this is less of a problem, or at 
least solutions can be designed differently. At Preset we have our own ways of 
dealing with this as it relates to our multitenancy-specific implementation. 
Regardless the solution/fix here ideally need to work with different connection 
pool configurations. There's a bucket of complexity around greenlet/gevent 
stuff here, and the fact that some database drivers are not thread-safe
   - the real solution is to route all analytical workloads through "async 
queries" / celery workers. Ideally flask only serves normal, short lived web 
requests, flask should never wait on some external database we don't control 
and pass workloads over to celery. This solves for cloggage issues in web 
servers, but doesn't solve for "releasing the metadata database connections 
during extended external workloads". Logic need to be redefined for that 
regardless of where the work takes place...


-- 
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

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