Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
SUMMARY
At Airbnb we had an incident with Celery where tasks weren't being picked up and the CPU was pegged at close to 100%. We configure Celery with the
gevent
pool and the only workaround to remedy the problem was to restart the workers sansgevent
.We haven't been able to track down the root cause of the problem, though a Google search surfaced a similar issue (though we actually don't call
AsyncResult.get()
since the SQL Lab results are stored elsewhere) which I believe was fixed in4.4.2
(which is the version Superset currently uses). The issue seems to be that there are no release note associated with said release nor does that tag exist within the Celery GitHub repo. Given there have been a number of recent releases (which mostly look like bug fixes) I felt it was prudent that we bumped the version of Celery to the latest stable version.Note we use a MySQL database for Superset and historically have been using the
mysqlclient
DBAPI but we're looking into usingPyMySQL
which fully supportsgevent
. We're not sure if this was the issue, but the Celery workers poll certain async engines, i.e., Presto, every few seconds per task and thus having a fullygevent
compliant DBAPI may also be benefical.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
TEST PLAN
CI.
ADDITIONAL INFORMATION