100% with upstream / backup server

Maxim Dounin mdounin at mdounin.ru
Tue Jan 26 20:15:11 MSK 2010


Hello!

On Tue, Jan 26, 2010 at 05:58:46PM +0100, Piotr Sikora wrote:

> >I such a setup not allowed?
> 
> This is a bug, I sent patch for this (attached) few weeks ago, but
> it didn't make it into nginx-0.8.32.

[...]

> --- src/http/ngx_http_upstream_round_robin.c.orig	Mon Jan  4 05:14:43 2010
> +++ src/http/ngx_http_upstream_round_robin.c	Mon Jan  4 05:14:50 2010
> @@ -403,6 +403,16 @@
>  
>          /* there are several peers */
>  
> +        for (i = 0; i < rrp->peers->number; i++) {
> +             if (!rrp->peers->peer[i].down) {
> +                 break;
> +             }
> +        }
> +
> +        if (i == rrp->peers->number) {
> +             return NGX_BUSY;
> +        }
> +
>          if (pc->tries == rrp->peers->number) {
>  
>              /* it's a first try - get a current peer */

This patch has at least two problems I see right now:

1. It doesn't handle backup peers.

2. It does extra unneeded work on each request.

Maxim Dounin



More information about the nginx mailing list