From 4789f3f193a4744c2fc05a7725ff228a72c66a78 Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Mon, 3 Sep 2018 11:15:35 +0300 Subject: [PATCH] MXS-2011 Change invalid asserts With multiple configs, we can no longer assert that the config of the primary, aka first, config is identical with the one being used. --- .../modules/routing/binlogrouter/blr_file.cc | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/server/modules/routing/binlogrouter/blr_file.cc b/server/modules/routing/binlogrouter/blr_file.cc index 500f15d02..7eee0176a 100644 --- a/server/modules/routing/binlogrouter/blr_file.cc +++ b/server/modules/routing/binlogrouter/blr_file.cc @@ -3430,25 +3430,30 @@ blr_file_write_master_config(ROUTER_INSTANCE *router, char *error) // Assert that the configurarion as dispersed around blr and // as stored in the configuration item are identical. mxb_assert(router->configs.size() > 0); - ChangeMasterConfig primary = router->configs.front(); + mxb_assert(router->current_config < static_cast(router->configs.size())); +#ifdef SS_DEBUG + const ChangeMasterConfig& current = router->configs[router->current_config]; - mxb_assert(primary.host == router->service->dbref->server->address); - mxb_assert(primary.port == router->service->dbref->server->port); - mxb_assert(primary.user == router->user); - mxb_assert(primary.password == router->password); + mxb_assert(current.host == router->service->dbref->server->address); + mxb_assert(current.port == router->service->dbref->server->port); + mxb_assert(current.user == router->user); + mxb_assert(current.password == router->password); if (router->ssl_enabled) { - mxb_assert(primary.ssl_enabled); - mxb_assert(primary.ssl_ca == router->service->dbref->server->server_ssl->ssl_ca_cert); - mxb_assert(primary.ssl_cert == router->service->dbref->server->server_ssl->ssl_cert); - mxb_assert(primary.ssl_key == router->service->dbref->server->server_ssl->ssl_key); + mxb_assert(current.ssl_enabled); + mxb_assert(current.ssl_ca == router->service->dbref->server->server_ssl->ssl_ca_cert); + mxb_assert(current.ssl_cert == router->service->dbref->server->server_ssl->ssl_cert); + mxb_assert(current.ssl_key == router->service->dbref->server->server_ssl->ssl_key); } - mxb_assert(!router->ssl_version || (primary.ssl_version == router->ssl_version)); + mxb_assert(!router->ssl_version || (current.ssl_version == router->ssl_version)); - mxb_assert(primary.heartbeat_period == (int)router->heartbeat); - mxb_assert(primary.connect_retry == router->retry_interval); + mxb_assert(current.heartbeat_period == (int)router->heartbeat); + mxb_assert(current.connect_retry == router->retry_interval); +#endif + + ChangeMasterConfig primary = router->configs[0]; // Copied, so that it can be modified. // If not SSL enabled, store old SSL config if there is one. // TODO: Why?