Gzip Gunzip: always flush busy bufs when the incoming chain is NULL.
mdounin at mdounin.ru
Tue Nov 4 00:54:25 UTC 2014
On Mon, Nov 03, 2014 at 02:35:33PM -0800, Yichun Zhang (agentzh) wrote:
> On Mon, Nov 3, 2014 at 2:03 PM, Maxim Dounin wrote:
> > The change is 1.7.7 is intentional, please see
> > http://hg.nginx.org/nginx/rev/973fded4f461.
> Yes, I was aware of this commit. This commit introduces real issues on
> my side because even if the gzip filter does not have busy bufs, the
> downstream write filter can have busy bufs. And it's wrong to avoid
> flushing downstream busy bufs just when ngx_gzip itself does not have
> busy bufs.
The commit log in question explains the reason for the change.
Work on the gzip stalls problem as fixed by 973fded4f461 clearly
showed that just passing NULL chains is wrong unless last buffer
was already sent or there are busy buffers. And after the
c52a761a2029 change there were at least two reports about "output
chain is empty" alerts.
If you see an issue, you may want to share the issue details,
to find out how to fix it properly.
More information about the nginx-devel