rusackas commented on PR #42804: URL: https://github.com/apache/superset/pull/42804#issuecomment-5196234801
Dug into this before merging the revert. The hang isn't actually specific to simple-zstd v2 -- `processHTML()` pipes the proxied response through the decompression stream with plain `.pipe()`, which doesn't forward the source's errors/premature-close to the destination. When the backend connection drops mid-response (the Flask reloader restarting on a save is the common case), the decompression stream just sits waiting forever and the request hangs. Reproduced the identical hang with gzip on the same code path, so reverting to 1.4.2 wouldn't have actually fixed it. Opened #42811 as a fix-forward: swaps the manual `.pipe()` wiring for `stream/promises`' `pipeline()`, which properly propagates the error so the existing catch handler can respond fast instead of hanging. Includes two regression tests (zstd + gzip) that hang against the old code and pass with the fix. Might be worth holding this one and going with #42811 instead, since it fixes the actual bug rather than just removing zstd support. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
