Cluster tests shouldn't crash (note: still not passing either)

Former-commit-id: e63b2880b050d64849daf17d81cd0d4cabf2277a
This commit is contained in:
John Sully 2019-04-02 22:32:10 -04:00
parent c53b8125df
commit 5edc61dfd5
2 changed files with 7 additions and 3 deletions

View File

@ -79,7 +79,9 @@ void moduleCallClusterReceivers(const char *sender_id, uint64_t module_id, uint8
struct redisMaster *getFirstMaster()
{
serverAssert(listLength(server.masters) == 1);
serverAssert(listLength(server.masters) <= 1);
if (!listLength(server.masters))
return NULL;
return listFirst(server.masters)->value;
}
@ -3578,7 +3580,9 @@ void clusterCron(void) {
myself->slaveof &&
nodeHasAddr(myself->slaveof))
{
replicationUnsetMaster(getFirstMaster());
struct redisMaster *mi = getFirstMaster();
if (mi != NULL)
replicationUnsetMaster(mi);
replicationAddMaster(myself->slaveof->ip, myself->slaveof->port);
}

View File

@ -2796,7 +2796,7 @@ void processClientsWaitingReplicas(void) {
long long replicationGetSlaveOffset(redisMaster *mi) {
long long offset = 0;
if (mi->masterhost != NULL) {
if (mi != NULL && mi->masterhost != NULL) {
if (mi->master) {
offset = mi->master->reploff;
} else if (mi->cached_master) {