diff --git a/server/core/service.cc b/server/core/service.cc index c1964d4b7..8900dc722 100644 --- a/server/core/service.cc +++ b/server/core/service.cc @@ -1703,7 +1703,7 @@ static void service_calculate_weights(SERVICE* service) if (*weightby && service->dbref) { // DEPRECATED in 2.3, remove in 2.4. - MXS_WARNING("Setting of server weigths (%s) has been deprecated" + MXS_WARNING("Setting of server weights (%s) has been deprecated" " and will be removed in a later version of MaxScale.", weightby); diff --git a/server/modules/routing/readwritesplit/rwsplit_select_backends.cc b/server/modules/routing/readwritesplit/rwsplit_select_backends.cc index 2b1b3a6d3..8403e8340 100644 --- a/server/modules/routing/readwritesplit/rwsplit_select_backends.cc +++ b/server/modules/routing/readwritesplit/rwsplit_select_backends.cc @@ -79,7 +79,8 @@ SRWBackendVector::iterator best_score(SRWBackendVector& sBackends, SRWBackendVector::iterator backend_cmp_router_conn(SRWBackendVector& sBackends) { static auto server_score = [](SERVER_REF* server) { - return server->server_weight ? (server->connections + 1) / server->server_weight : 0; + return server->server_weight ? (server->connections + 1) / server->server_weight : + std::numeric_limits::max(); }; return best_score(sBackends, server_score); @@ -89,7 +90,8 @@ SRWBackendVector::iterator backend_cmp_router_conn(SRWBackendVector& sBackends) SRWBackendVector::iterator backend_cmp_global_conn(SRWBackendVector& sBackends) { static auto server_score = [](SERVER_REF* server) { - return server->server_weight ? (server->server->stats.n_current + 1) / server->server_weight : 0; + return server->server_weight ? (server->server->stats.n_current + 1) / server->server_weight : + std::numeric_limits::max(); }; return best_score(sBackends, server_score); @@ -99,7 +101,8 @@ SRWBackendVector::iterator backend_cmp_global_conn(SRWBackendVector& sBackends) SRWBackendVector::iterator backend_cmp_behind_master(SRWBackendVector& sBackends) { static auto server_score = [](SERVER_REF* server) { - return server->server_weight ? server->server->rlag / server->server_weight : 0; + return server->server_weight ? server->server->rlag / server->server_weight : + std::numeric_limits::max(); }; return best_score(sBackends, server_score); @@ -109,8 +112,8 @@ SRWBackendVector::iterator backend_cmp_behind_master(SRWBackendVector& sBackends SRWBackendVector::iterator backend_cmp_current_load(SRWBackendVector& sBackends) { static auto server_score = [](SERVER_REF* server) { - return server->server_weight ? (server->server->stats.n_current_ops + 1) - / server->server_weight : 0; + return server->server_weight ? (server->server->stats.n_current_ops + 1) / server->server_weight : + std::numeric_limits::max(); }; return best_score(sBackends, server_score);