Fix for zero wieght in readconnrouter
This commit is contained in:
@ -264,11 +264,11 @@ char *weightby;
|
|||||||
{
|
{
|
||||||
for (n = 0; inst->servers[n]; n++)
|
for (n = 0; inst->servers[n]; n++)
|
||||||
{
|
{
|
||||||
int perc;
|
int perc, wght;
|
||||||
backend = inst->servers[n];
|
backend = inst->servers[n];
|
||||||
perc = (atoi(serverGetParameter(backend->server,
|
perc = ((wght = atoi(serverGetParameter(backend->server,
|
||||||
weightby)) * 1000) / total;
|
weightby))) * 1000) / total;
|
||||||
if (perc == 0)
|
if (perc == 0 && wght != 0)
|
||||||
perc = 1;
|
perc = 1;
|
||||||
backend->weight = perc;
|
backend->weight = perc;
|
||||||
if (perc == 0)
|
if (perc == 0)
|
||||||
@ -279,7 +279,7 @@ char *weightby;
|
|||||||
"for weighting parameter '%s', "
|
"for weighting parameter '%s', "
|
||||||
"no queries will be routed to "
|
"no queries will be routed to "
|
||||||
"this server.\n",
|
"this server.\n",
|
||||||
server->unique_name,
|
inst->servers[n]->server->unique_name,
|
||||||
weightby)));
|
weightby)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -418,6 +418,9 @@ BACKEND *master_host = NULL;
|
|||||||
if (SERVER_IN_MAINT(inst->servers[i]->server))
|
if (SERVER_IN_MAINT(inst->servers[i]->server))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (inst->servers[i]->weight == 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
/* Check server status bits against bitvalue from router_options */
|
/* Check server status bits against bitvalue from router_options */
|
||||||
if (inst->servers[i] &&
|
if (inst->servers[i] &&
|
||||||
SERVER_IS_RUNNING(inst->servers[i]->server) &&
|
SERVER_IS_RUNNING(inst->servers[i]->server) &&
|
||||||
|
|||||||
Reference in New Issue
Block a user