[PATCH] upstream process header data
mdounin at mdounin.ru
Thu Feb 9 11:12:36 UTC 2012
On Thu, Feb 09, 2012 at 05:43:19PM +0800, 李飞勃 wrote:
> I encountered a problem when I write a upstream module to process
> data from my upstream server.
> I set the header recv buffer to a small size that can not hold the
> whole response header. While in my process_header handler of my
> module, it will wait for the whole response header to process header,
> then return NGX_AGAIN and leave data in u->buffer not processed(in
> this case, u->buffer->pos < u->buffer->last). Then u->buffer->pos will
> never equal to u->buffer->end, and nginx will nerver log "upstream
> send too big header". This will cause nginx to call recv again with
> zero buffer size.
> I think this may be a problem, and I made a patch for that.
Looks like valid problem and correct patch for me. In vanilla
nginx this currently affects at least memcached module. If
memcached_buffer set to low value, it causes
[error] ... upstream prematurely closed connection while reading
response header from upstream ...
to be logged instead of correct
[error] ... upstream sent too big header while reading response
header from upstream ...
Could you please provide English transcription of your name you
would like to see in CHANGES? Is "Li Feibo" looks ok?
More information about the nginx-devel