-
Notifications
You must be signed in to change notification settings - Fork 14.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
superset-frontend proxy is not working when superset backend decides to use zstd encoding #28366
Comments
The issue you're encountering with Apache Superset's frontend proxy not supporting To identify the package that might have introduced Adding support for For a more immediate solution, ensuring that all developers are using the same version of Python packages, as you've done, can prevent the issue from occurring by avoiding the introduction of
|
@jakubjosef so that would be on a fresh install from Doing a bit of guessing here, since all of our CI installs the pin packages in
|
Yes, in our install script we are using |
My suggestion would be either:
On our side, there's a question as to whether we should publish a more strict or "with depenencies pinned" version of the package to work around all this.... |
Hi @jakubjosef thanks for reporting this, and for the research into the cause. I ran into the same issue and found that adding |
@Amylee520 We basically took a list of exact versions from another working machine (IIRC the command was |
For me the culprit package was Flask-Compress 1.15. You can |
@tyrius02 Thank you for identifying what exact package version is causing this problem, it can help others. We were not able to identify exact cause when we faced this problem. |
$ cd superset-frontend
$ npm i simple-zstd -D Edit const {ZSTDDecompress} = require('simple-zstd');
...
function processHTML(proxyResponse, response) {
...
} else if (responseEncoding === 'zstd') {
uncompress = ZSTDDecompress();
}
...
} |
@rebareba Great, thank you for providing this code! |
Sounds like we're discussing this bug... I'm excited to hear we're on the verge of a real fix here! |
Bug description
Hi guys, my company is using Apache Superset and we just found weird situation.
Our new developer were using superset-frontend and he saw weird characters being displayed instead of "normal page".
After few hours of investigation we realised the problem was superset (python server) which served content using zstd encoding (instead of br encoding which other devs were using).
zstd encoding is not supported by superset's node js proxy (see:
superset/superset-frontend/webpack.proxy-config.js
Line 123 in 10c7896
We managed to fix the problem using exactly same version of python packages from working machine, but it looks like some superset dependency was updated to serve using zstd by default. Unfortunately it looks like zstd is not supported in node.js yet, so we cannot just easily support zstd in webpack.proxy-config.js
Does anyone know which exact package can cause this? I tried to grep superset and werkzeug code for zstd but found nothing.
Thank you for your suggestions.
How to reproduce the bug
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.11
Node version
18 or greater
Browser
Chrome
Additional context
No response
Checklist
The text was updated successfully, but these errors were encountered: