diff --git a/server/core/server.c b/server/core/server.c index bfe5e4d04..84e663512 100644 --- a/server/core/server.c +++ b/server/core/server.c @@ -417,6 +417,8 @@ char *status = NULL; strcat(status, "Slave, "); if (server->status & SERVER_JOINED) strcat(status, "Synced, "); + if (server->status & SERVER_NDB) + strcat(status, "NDB, "); if (server->status & SERVER_RUNNING) strcat(status, "Running"); else diff --git a/server/include/server.h b/server/include/server.h index 847bfe9e3..c558418bc 100644 --- a/server/include/server.h +++ b/server/include/server.h @@ -145,7 +145,7 @@ typedef struct server { #define SERVER_IN_MAINT(server) ((server)->status & SERVER_MAINT) /** server is not master, slave or joined */ -#define SERVER_NOT_IN_CLUSTER(s) (((s)->status & (SERVER_MASTER|SERVER_SLAVE|SERVER_JOINED)) == 0) +#define SERVER_NOT_IN_CLUSTER(s) (((s)->status & (SERVER_MASTER|SERVER_SLAVE|SERVER_JOINED|SERVER_NDB)) == 0) #define SERVER_IS_IN_CLUSTER(s) (((s)->status & (SERVER_MASTER|SERVER_SLAVE|SERVER_JOINED|SERVER_NDB)) != 0) diff --git a/server/modules/monitor/ndbcluster_mon.c b/server/modules/monitor/ndbcluster_mon.c index 4d12c7aa0..3b8a8b369 100644 --- a/server/modules/monitor/ndbcluster_mon.c +++ b/server/modules/monitor/ndbcluster_mon.c @@ -381,10 +381,10 @@ char *server_string; } if (isjoined) { - server_set_status(database->server, SERVER_JOINED); + server_set_status(database->server, SERVER_NDB); database->server->depth = 0; } else { - server_clear_status(database->server, SERVER_JOINED); + server_clear_status(database->server, SERVER_NDB); database->server->depth = -1; } } diff --git a/server/modules/routing/debugcmd.c b/server/modules/routing/debugcmd.c index a9a5da12a..d5d249c2b 100644 --- a/server/modules/routing/debugcmd.c +++ b/server/modules/routing/debugcmd.c @@ -831,6 +831,7 @@ static struct { { "master", SERVER_MASTER }, { "slave", SERVER_SLAVE }, { "synced", SERVER_JOINED }, + { "ndb", SERVER_NDB }, { "maintenance", SERVER_MAINT }, { "maint", SERVER_MAINT }, { NULL, 0 } diff --git a/server/modules/routing/readconnroute.c b/server/modules/routing/readconnroute.c index 0fc5fd4ce..a5c648c67 100644 --- a/server/modules/routing/readconnroute.c +++ b/server/modules/routing/readconnroute.c @@ -311,6 +311,11 @@ char *weightby; inst->bitmask |= (SERVER_JOINED); inst->bitvalue |= SERVER_JOINED; } + else if (!strcasecmp(options[i], "ndb")) + { + inst->bitmask |= (SERVER_NDB); + inst->bitvalue |= SERVER_NDB; + } else { LOGIF(LM, (skygw_log_write( @@ -318,7 +323,7 @@ char *weightby; "* Warning : Unsupported router " "option \'%s\' for readconnroute. " "Expected router options are " - "[slave|master|synced]", + "[slave|master|synced|ndb]", options[i]))); } }