Log the connected masters in the INFO command

This commit is contained in:
John Sully 2022-04-02 01:20:45 -04:00
parent 94990925ba
commit 269b05b918
3 changed files with 10 additions and 3 deletions

View File

@ -5210,7 +5210,7 @@ void failoverCommand(client *c) {
addReply(c,shared.ok); addReply(c,shared.ok);
} }
int FBrokenLinkToMaster() int FBrokenLinkToMaster(int *pmastersOnline)
{ {
listIter li; listIter li;
listNode *ln; listNode *ln;
@ -5224,6 +5224,10 @@ int FBrokenLinkToMaster()
++connected; ++connected;
} }
if (pmastersOnline != nullptr)
*pmastersOnline = connected;
if (g_pserver->repl_quorum < 0) { if (g_pserver->repl_quorum < 0) {
return connected < (int)listLength(g_pserver->masters); return connected < (int)listLength(g_pserver->masters);
} else { } else {

View File

@ -5984,8 +5984,11 @@ sds genRedisInfoString(const char *section) {
listLength(g_pserver->masters) == 0 ? "master" listLength(g_pserver->masters) == 0 ? "master"
: g_pserver->fActiveReplica ? "active-replica" : "slave"); : g_pserver->fActiveReplica ? "active-replica" : "slave");
if (listLength(g_pserver->masters)) { if (listLength(g_pserver->masters)) {
int connectedMasters = 0;
info = sdscatprintf(info, "master_global_link_status:%s\r\n", info = sdscatprintf(info, "master_global_link_status:%s\r\n",
FBrokenLinkToMaster() ? "down" : "up"); FBrokenLinkToMaster(&connectedMasters) ? "down" : "up");
info = sdscatprintf(info, "connected_masters:%d\r\n", connectedMasters);
int cmasters = 0; int cmasters = 0;
listIter li; listIter li;

View File

@ -3788,7 +3788,7 @@ void failoverCommand(client *c);
void lfenceCommand(client *c); void lfenceCommand(client *c);
int FBrokenLinkToMaster(); int FBrokenLinkToMaster(int *pconnectMasters = nullptr);
int FActiveMaster(client *c); int FActiveMaster(client *c);
struct redisMaster *MasterInfoFromClient(client *c); struct redisMaster *MasterInfoFromClient(client *c);