You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
flask-compress released version 1.6.0 on 2020-10-05 and updating to this version breaks component tests (confirmed in the table) in CI. Since flask-compress is a dash requirement and not version locked, this may affect negatively Dash installs in the wild.
Determine the nature of the break
Fix it..
The text was updated successfully, but these errors were encountered:
@alexcjohnson Got a clean repro of the issue by switching back and forth between flask-compress 1.5.0 and 1.6.0
The underlying issue seems to be that 1.6.0 changed the default compression algorithm from['gzip'] to ['br', 'gzip']. In doing so they also do not provide a way to change the default compression level of Brotli which is set to the maximum value of 11.
11 is a very aggressive compression value for Brotli with significant CPU cost - you would want to use it on static resources and do it once / cache the result instead of doing it on the fly like we do.
To give a sense of that cost, callbacks with marginal content (~150 bytes) that would normally return in 10-15ms on the localhost now take 150-200ms to return.
@rpkyle is opening a PR on flask-compress to make the default more sensible and to suggest making the compression level for br, like gzip, customizable.
All of this should have caused performance issues but should not have broken the table tests. The second underlying issue here is that the table tests are brittle when it comes to server slowdowns. For example, test_tbcp001_copy_paste_callback is written like this:
flask-compress
released version 1.6.0 on 2020-10-05 and updating to this version breaks component tests (confirmed in the table) in CI. Sinceflask-compress
is a dash requirement and not version locked, this may affect negatively Dash installs in the wild.The text was updated successfully, but these errors were encountered: