Re:Re: Re: [PATCH]Upstream: fix possible request hang when "proxy_buffering" is off.

2014-06-25 Thread flygoast
You're right. It still can hang. I have another question: What's the meaning for "c->sent - sent >= limit - (off_t) (2 * ngx_pagesize))"? I don't understand it. Why "2 * ngx_pagesize"? Can you help to explain the logic? Thanks. At 2014-06-26 02:12:33,"Maxim Dounin" wrote: >Hello! > >

Re: [PATCH] Core: merge adjacent free slab pages to ameliorate fragmentation from multi-page blocks (Was Re: Help with shared memory usage)

2014-06-25 Thread idina
Sent by Bird Mail___ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel

[nginx] Fixed wrong sizeof() in ngx_http_init_locations().

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/b490bfbf8cfa branches: changeset: 5741:b490bfbf8cfa user: Maxim Dounin date: Thu Jun 26 03:34:13 2014 +0400 description: Fixed wrong sizeof() in ngx_http_init_locations(). There is no real difference on all known platforms, but it's still wrong

[nginx] Core: removed meaningless check from ngx_palloc_block().

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/c45c9812cf11 branches: changeset: 5742:c45c9812cf11 user: Maxim Dounin date: Thu Jun 26 03:34:19 2014 +0400 description: Core: removed meaningless check from ngx_palloc_block(). The check became meaningless after refactoring in 2a92804f4109. Wi

[nginx] Configure: style.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/6e4bb1d6679d branches: changeset: 5739:6e4bb1d6679d user: Maxim Dounin date: Thu Jun 26 03:34:02 2014 +0400 description: Configure: style. diffstat: auto/lib/perl/conf | 6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diffs (26 l

[nginx] Core: plugged socket leak during configuration test.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/4440438eb086 branches: changeset: 5740:4440438eb086 user: Maxim Dounin date: Thu Jun 26 03:34:05 2014 +0400 description: Core: plugged socket leak during configuration test. This isn't really important as configuration testing shortly ends with

[nginx] Entity tags: weak comparison for If-None-Match.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/af229f8cf987 branches: changeset: 5734:af229f8cf987 user: Maxim Dounin date: Thu Jun 26 02:21:20 2014 +0400 description: Entity tags: weak comparison for If-None-Match. diffstat: src/http/modules/ngx_http_not_modified_filter_module.c | 38 ++

[nginx] Entity tags: downgrade strong etags to weak ones as needed.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/e491b26fa5a1 branches: changeset: 5733:e491b26fa5a1 user: Maxim Dounin date: Thu Jun 26 02:21:01 2014 +0400 description: Entity tags: downgrade strong etags to weak ones as needed. See http://mailman.nginx.org/pipermail/nginx-devel/2013-Novembe

[nginx] Upstream: fixed cache revalidation with SSI.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/d0ce06cb9be1 branches: changeset: 5732:d0ce06cb9be1 user: Maxim Dounin date: Thu Jun 26 02:20:09 2014 +0400 description: Upstream: fixed cache revalidation with SSI. Previous code in ngx_http_upstream_send_response() used last modified time fro

[nginx] Cache: ETag now saved into cache header.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/44b9ab7752e3 branches: changeset: 5737:44b9ab7752e3 user: Maxim Dounin date: Thu Jun 26 02:28:23 2014 +0400 description: Cache: ETag now saved into cache header. diffstat: src/http/ngx_http_cache.h | 7 ++- src/http/ngx_http_file_c

[nginx] Entity tags: explicit flag to skip not modified filter.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/5fb1e57c758a branches: changeset: 5735:5fb1e57c758a user: Maxim Dounin date: Thu Jun 26 02:27:11 2014 +0400 description: Entity tags: explicit flag to skip not modified filter. Previously, last_modified_time was tested against -1 to check if th

[nginx] Upstream: cache revalidation using If-None-Match.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/c95d7882dfc9 branches: changeset: 5738:c95d7882dfc9 user: Maxim Dounin date: Thu Jun 26 02:35:01 2014 +0400 description: Upstream: cache revalidation using If-None-Match. diffstat: src/http/modules/ngx_http_fastcgi_module.c | 2 +- src/http

[nginx] Cache: version in cache files.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/2fe1967f8854 branches: changeset: 5736:2fe1967f8854 user: Maxim Dounin date: Thu Jun 26 02:27:21 2014 +0400 description: Cache: version in cache files. This allows to change the structure of cache files without spamming logs with false alerts.

[nginx] Upstream: removed unused offset to content_length.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/02674312be45 branches: changeset: 5731:02674312be45 user: Maxim Dounin date: Thu Jun 26 02:20:05 2014 +0400 description: Upstream: removed unused offset to content_length. It's not needed since introduction of ngx_http_upstream_content_length()

[nginx] Upstream: no need to clear r->headers_out.last_modified_...

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/c8bdde1c8c97 branches: changeset: 5730:c8bdde1c8c97 user: Maxim Dounin date: Thu Jun 26 02:19:58 2014 +0400 description: Upstream: no need to clear r->headers_out.last_modified_time. Clearing of the r->headers_out.last_modified_time field if a

[nginx] Not modified filter: debug log format fixed.

2014-06-25 Thread Maxim Dounin
details: http://hg.nginx.org/nginx/rev/bb3d74fc4aea branches: changeset: 5729:bb3d74fc4aea user: Maxim Dounin date: Thu Jun 26 02:19:55 2014 +0400 description: Not modified filter: debug log format fixed. diffstat: src/http/modules/ngx_http_not_modified_filter_module.c | 4 ++--

Re: Re: [PATCH]Upstream: fix possible request hang when "proxy_buffering" is off.

2014-06-25 Thread Maxim Dounin
Hello! On Wed, Jun 25, 2014 at 10:00:35PM +0800, flygoast wrote: > At here: > in ngx_http_write_filter(): > > > if (limit > && c->write->ready > && c->sent - sent >= limit - (off_t) (2 * ngx_pagesize)) > { > c->write->delayed = 1; > ngx_add_timer(c->write

Re:Re: [PATCH]Upstream: fix possible request hang when "proxy_buffering" is off.

2014-06-25 Thread flygoast
At here: in ngx_http_write_filter(): if (limit && c->write->ready && c->sent - sent >= limit - (off_t) (2 * ngx_pagesize)) { c->write->delayed = 1; ngx_add_timer(c->write, 1); } limit's value from clcf->sendfile_max_chunk. In my nginx.conf, I set "se

Re: [PATCH]Upstream: fix possible request hang when "proxy_buffering" is off.

2014-06-25 Thread Maxim Dounin
Hello! On Wed, Jun 25, 2014 at 07:23:32PM +0800, flygoast wrote: > # HG changeset patch > # User FengGu > # Date 1403694825 -28800 > # Wed Jun 25 19:13:45 2014 +0800 > # Node ID 12fd8ef2f6ea3167dd96cb000aafeb2665aeee14 > # Parent 63d7d69d0fe48e030ff9fc520c7036dbd1ebc13f > Upstream: fix pos

Re:[PATCH]Upstream: fix possible request hang when "proxy_buffering" is off.

2014-06-25 Thread flygoast
Attach a log for this situation. Thanks. At 2014-06-25 19:23:32,flygoast wrote: # HG changeset patch # User FengGu # Date 1403694825 -28800 # Wed Jun 25 19:13:45 2014 +0800 # Node ID 12fd8ef2f6ea3167dd96cb000aafeb2665aeee14 # Parent 63d7d69d0fe48e030ff9fc520c7036dbd1ebc13f Upstream: fix

[PATCH]Upstream: fix possible request hang when "proxy_buffering" is off.

2014-06-25 Thread flygoast
# HG changeset patch # User FengGu # Date 1403694825 -28800 # Wed Jun 25 19:13:45 2014 +0800 # Node ID 12fd8ef2f6ea3167dd96cb000aafeb2665aeee14 # Parent 63d7d69d0fe48e030ff9fc520c7036dbd1ebc13f Upstream: fix possible request hang when "proxy_buffering" is off. In ngx_http_upstream_process_