Welcome! Log In Create A New Profile

Advanced

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Anton Jouline
September 28, 2012 04:10PM
hi Maxim,

yes, attribution in CHANGES.ru would be great, thanks!
In Russian, my name is spelled as: Антон Жулин

One comment on changeset 4872:

On line #1385, wouldn't you want to call ngx_resolver_rotate()
instead of ngx_resolver_dup() ? To cover the case of the name
not being cached at all for some odd reason - like, if TTL is set
to 0 seconds. Or, if TTL is really small, which would also skew
the distribution to use the 1st addr a lot more than others.



On Fri, Sep 28, 2012 at 11:51 AM, Maxim Dounin <mdounin@mdounin.ru> wrote:
> Hello!
>
> On Wed, Sep 19, 2012 at 10:39:01PM -0700, Anton Jouline wrote:
>
> [...]
>
>> So, i decided instead to take a look at ngx_resolver code and
>> it turned out that it's actually very simple to randomize there,
>> since there is code already that copies the array from one place
>> in memory to another. Looked like that was ideal place for
>> changing the order via simple rotation.
>> Here is the new patch:
>>
>>
>>
>> --- a/src/core/ngx_resolver.c
>> +++ b/src/core/ngx_resolver.c
>> @@ -88,6 +88,8 @@ static void *ngx_resolver_calloc(ngx_resolver_t *r,
>> size_t size);
>> static void ngx_resolver_free(ngx_resolver_t *r, void *p);
>> static void ngx_resolver_free_locked(ngx_resolver_t *r, void *p);
>> static void *ngx_resolver_dup(ngx_resolver_t *r, void *src, size_t size);
>> +static in_addr_t *ngx_resolver_dup_rotated(ngx_resolver_t *r, in_addr_t *src,
>> + u_short n);
>> static u_char *ngx_resolver_log_error(ngx_log_t *log, u_char *buf, size_t len);
>
> [...]
>
> Slightly modified version committed, thanks:
>
> http://trac.nginx.org/nginx/changeset/4872/nginx
>
> I'm a bit unsure - would you prefer Russian attribution in
> CHANGES.ru? (We usually write names in Russian in CHANGES.ru if
> contributor is from exUSSR/speak Russian.)
>
> Maxim Dounin
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH] Random peer selection for implicit upstream defined by proxy_pass Attachments

Anton Jouline 1417 August 21, 2012 02:38PM

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Anton Jouline 655 August 27, 2012 11:46AM

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Maxim Dounin 540 September 07, 2012 10:46AM

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Anton Jouline 590 September 08, 2012 04:20AM

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Maxim Dounin 529 September 19, 2012 11:26AM

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Anton Jouline 538 September 20, 2012 01:40AM

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Maxim Dounin 517 September 28, 2012 02:52PM

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Anton Jouline 482 September 28, 2012 04:10PM

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Maxim Dounin 646 September 29, 2012 03:26AM

Re: [PATCH] Random peer selection for implicit upstream defined by proxy_pass

Anton Jouline 518 September 15, 2012 12:22PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 131
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready