MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / releaseSentinelRedisInstance

Function releaseSentinelRedisInstance

src/sentinel.cpp:1391–1417  ·  view source on GitHub ↗

Release this instance and all its slaves, sentinels, hiredis connections. * This function does not take care of unlinking the instance from the main * masters table (if it is a master) or from its master sentinels/slaves table * if it is a slave or sentinel. */

Source from the content-addressed store, hash-verified

1389 * masters table (if it is a master) or from its master sentinels/slaves table
1390 * if it is a slave or sentinel. */
1391void releaseSentinelRedisInstance(sentinelRedisInstance *ri) {
1392 /* Release all its slaves or sentinels if any. */
1393 dictRelease(ri->sentinels);
1394 dictRelease(ri->slaves);
1395
1396 /* Disconnect the instance. */
1397 releaseInstanceLink(ri->link,ri);
1398
1399 /* Free other resources. */
1400 sdsfree(ri->name);
1401 sdsfree(ri->runid);
1402 sdsfree(ri->notification_script);
1403 sdsfree(ri->client_reconfig_script);
1404 sdsfree(ri->slave_master_host);
1405 sdsfree(ri->leader);
1406 sdsfree(ri->auth_pass);
1407 sdsfree(ri->auth_user);
1408 sdsfree(ri->info);
1409 releaseSentinelAddr(ri->addr);
1410 dictRelease(ri->renamed_commands);
1411
1412 /* Clear state into the master if needed. */
1413 if ((ri->flags & SRI_SLAVE) && (ri->flags & SRI_PROMOTED) && ri->master)
1414 ri->master->promoted_slave = NULL;
1415
1416 zfree(ri);
1417}
1418
1419/* Lookup a slave in a master Redis instance, by ip and port. */
1420sentinelRedisInstance *sentinelRedisInstanceLookupSlave(

Callers 1

Calls 5

releaseInstanceLinkFunction · 0.85
sdsfreeFunction · 0.85
releaseSentinelAddrFunction · 0.85
zfreeFunction · 0.85
dictReleaseFunction · 0.70

Tested by

no test coverage detected