BUG/MAJOR: fwlc: Count an avoided server as unusable.

When fwlc_get_next_server(), if a server to avoid has been provided, and
we have to ignore it, don't forget to increase the number of unusable
servers, otherwise we may end up ignoring it over and over, never
switching to another server, in an infinite loop until the process gets
killed.
This hopefully fixes Github issues #3004 and #3014.

This should be backported to 3.2.
This commit is contained in:
Olivier Houchard 2025-06-20 15:06:04 +02:00
parent 4527a2912b
commit e28e647fef

View File

@ -806,6 +806,7 @@ struct server *fwlc_get_next_server(struct proxy *p, struct server *srvtoavoid)
break;
}
avoided = s;
unusable++;
}
else
unusable++;