On Tue, Apr 21, 2015 at 04:29:32PM +0200, Martin Mlynář wrote: > Hello, > > Dne 2015-04-21 15:53, Roman Arutyunyan napsal: > >Hello, > > > >On Tue, Apr 21, 2015 at 03:45:12PM +0200, Martin Mlynář wrote: > >>Hello, > >> > >>Dne 2015-04-21 15:39, Roman Arutyunyan napsal: > >>>Hello! > >>> > >>>On Tue, Apr 21, 2015 at 01:37:52PM +0200, Martin Mlynář wrote: > >>>># HG changeset patch > >>>># User Martin Mlynář <[email protected]> > >>>># Date 1429613281 -7200 > >>>># Tue Apr 21 12:48:01 2015 +0200 > >>>># Node ID 4cb149154501fc638596ab51031f8b3b64da2a7f > >>>># Parent 1bdfceda86a99a4dc99934181d2f9e2632003ca8 > >>>>memcached_force_ranges for memcached upstream > >>>> > >>>>Allow option force_ranges for memcached upstream > >>>> > >>>>diff -r 1bdfceda86a9 -r 4cb149154501 > >>>>src/http/modules/ngx_http_memcached_module.c > >>>>--- a/src/http/modules/ngx_http_memcached_module.c Mon Apr 20 > >>>>17:36:51 > >>>>2015 +0300 > >>>>+++ b/src/http/modules/ngx_http_memcached_module.c Tue Apr 21 > >>>>12:48:01 > >>>>2015 +0200 > >>>>@@ -95,6 +95,13 @@ > >>>> offsetof(ngx_http_memcached_loc_conf_t, upstream.read_timeout), > >>>> NULL }, > >>>> > >>>>+ { ngx_string("memcached_force_ranges"), > >>>>+ > >>>>NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, > >>>>+ ngx_conf_set_flag_slot, > >>>>+ NGX_HTTP_LOC_CONF_OFFSET, > >>>>+ offsetof(ngx_http_memcached_loc_conf_t, upstream.force_ranges), > >>>>+ NULL }, > >>>>+ > >>>> { ngx_string("memcached_next_upstream"), > >>>>NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE, > >>>> ngx_conf_set_bitmask_slot, > >>>>@@ -604,6 +611,7 @@ > >>>> conf->upstream.next_upstream_timeout = NGX_CONF_UNSET_MSEC; > >>>> > >>>> conf->upstream.buffer_size = NGX_CONF_UNSET_SIZE; > >>>>+ conf->upstream.force_ranges = NGX_CONF_UNSET; > >>>> > >>>> /* the hardcoded values */ > >>>> conf->upstream.cyclic_temp_file = 0; > >>>>@@ -647,6 +655,9 @@ > >>>> ngx_conf_merge_msec_value(conf->upstream.read_timeout, > >>>> prev->upstream.read_timeout, 60000); > >>>> > >>>>+ ngx_conf_merge_value(conf->upstream.force_ranges, > >>>>+ prev->upstream.force_ranges, 0); > >>>>+ > >>>> ngx_conf_merge_msec_value(conf->upstream.next_upstream_timeout, > >>>> prev->upstream.next_upstream_timeout, 0); > >>> > >>>It's better to enable ranges in the memcached module without any > >>>directives. > >>>You can find such "hardcoded values" in > >>>ngx_http_memcached_create_loc_conf(). > >> > >>I've tried to be consistent with other modules which does it this way > >>like: > >> > >>ngx_http_proxy_module.c > >>ngx_http_scgi_module.c > >>ngx_http_uwsgi_module.c > >>ngx_http_fastcgi_module.c > >> > >>Is there any reason why memcached should be an exception? Or am I > >>getting > >>something wrong? > > > >As you can see, the memcached module is an exception for many settings. > > > >As for ranges, memcache backend cannot apply ranges, so nginx is the only > >option. With other upstream modules nginx tries to be consistent with the > >origin server behavior. > > Thank you for your explanation. I expect according to the policy you've > mentioned > change like this can not be accepted to upstream. Am I right?
Yes. We'll accept a simpler patch with the hardcoded setting. -- Roman Arutyunyan _______________________________________________ nginx-devel mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-devel
