Opened 21 months ago

#1227 new task

One ngx_slice_module bug when use nginx as a reverse proxy server

Reported by: zhaiyan0011@… Owned by:
Priority: minor Milestone: 1.11
Component: nginx-module Version: 1.10.x
Keywords: slice mdoule Cc:
uname -a: Linux 2.6.32-642.13.1.el6.x86_64
nginx -V: 1.10.2

Description

  • Nginx -1.10.2
  • Uname -Linux 2.6.32-642.13.1.el6.x86_64

We use nginx as a reverse proxy server , and enable ngx_http_slice_module.
We have a problem:
When the client receives the first slice body, nginx no longer sends the second slice body, and the connection ( for client) is hanging .
Then we debug the problem, we found that before the second slice body sent to client , the connection’s(for client) write’s status as following:
ready is 1 , delayed is 1
After upstream_module use ngx_event_pipe_read_upstream function to read some body response from upstream, then the buffer is full, but due to the write’s delayed status, the response cannot be sent to the client. Because there is no event to call write_event_handler to reset delayed status and timedout status. The upstream_module step in error cycle.
We suspect that this problem is due to execute the wrong timer event handler.

Change History (0)

Note: See TracTickets for help on using tickets.