mirror of
https://github.com/fluencelabs/redis
synced 2025-03-18 16:40:50 +00:00
RESP3: sentinel.c updated.
This commit is contained in:
parent
3a3d806989
commit
9705c12d85
@ -885,17 +885,17 @@ void sentinelPendingScriptsCommand(client *c) {
|
||||
listNode *ln;
|
||||
listIter li;
|
||||
|
||||
addReplyMultiBulkLen(c,listLength(sentinel.scripts_queue));
|
||||
addReplyArrayLen(c,listLength(sentinel.scripts_queue));
|
||||
listRewind(sentinel.scripts_queue,&li);
|
||||
while ((ln = listNext(&li)) != NULL) {
|
||||
sentinelScriptJob *sj = ln->value;
|
||||
int j = 0;
|
||||
|
||||
addReplyMultiBulkLen(c,10);
|
||||
addReplyMapLen(c,5);
|
||||
|
||||
addReplyBulkCString(c,"argv");
|
||||
while (sj->argv[j]) j++;
|
||||
addReplyMultiBulkLen(c,j);
|
||||
addReplyArrayLen(c,j);
|
||||
j = 0;
|
||||
while (sj->argv[j]) addReplyBulkCString(c,sj->argv[j++]);
|
||||
|
||||
@ -2741,7 +2741,7 @@ void addReplySentinelRedisInstance(client *c, sentinelRedisInstance *ri) {
|
||||
void *mbl;
|
||||
int fields = 0;
|
||||
|
||||
mbl = addDeferredMultiBulkLength(c);
|
||||
mbl = addReplyDeferredLen(c);
|
||||
|
||||
addReplyBulkCString(c,"name");
|
||||
addReplyBulkCString(c,ri->name);
|
||||
@ -2922,7 +2922,7 @@ void addReplySentinelRedisInstance(client *c, sentinelRedisInstance *ri) {
|
||||
fields++;
|
||||
}
|
||||
|
||||
setDeferredMultiBulkLength(c,mbl,fields*2);
|
||||
setDeferredMapLen(c,mbl,fields);
|
||||
}
|
||||
|
||||
/* Output a number of instances contained inside a dictionary as
|
||||
@ -2932,7 +2932,7 @@ void addReplyDictOfRedisInstances(client *c, dict *instances) {
|
||||
dictEntry *de;
|
||||
|
||||
di = dictGetIterator(instances);
|
||||
addReplyMultiBulkLen(c,dictSize(instances));
|
||||
addReplyArrayLen(c,dictSize(instances));
|
||||
while((de = dictNext(di)) != NULL) {
|
||||
sentinelRedisInstance *ri = dictGetVal(de);
|
||||
|
||||
@ -3062,7 +3062,7 @@ void sentinelCommand(client *c) {
|
||||
|
||||
/* Reply with a three-elements multi-bulk reply:
|
||||
* down state, leader, vote epoch. */
|
||||
addReplyMultiBulkLen(c,3);
|
||||
addReplyArrayLen(c,3);
|
||||
addReply(c, isdown ? shared.cone : shared.czero);
|
||||
addReplyBulkCString(c, leader ? leader : "*");
|
||||
addReplyLongLong(c, (long long)leader_epoch);
|
||||
@ -3078,11 +3078,11 @@ void sentinelCommand(client *c) {
|
||||
if (c->argc != 3) goto numargserr;
|
||||
ri = sentinelGetMasterByName(c->argv[2]->ptr);
|
||||
if (ri == NULL) {
|
||||
addReply(c,shared.nullmultibulk);
|
||||
addReplyNull(c);
|
||||
} else {
|
||||
sentinelAddr *addr = sentinelGetCurrentMasterAddress(ri);
|
||||
|
||||
addReplyMultiBulkLen(c,2);
|
||||
addReplyArrayLen(c,2);
|
||||
addReplyBulkCString(c,addr->ip);
|
||||
addReplyBulkLongLong(c,addr->port);
|
||||
}
|
||||
@ -3232,7 +3232,7 @@ void sentinelCommand(client *c) {
|
||||
* 3.) other master name
|
||||
* ...
|
||||
*/
|
||||
addReplyMultiBulkLen(c,dictSize(masters_local) * 2);
|
||||
addReplyArrayLen(c,dictSize(masters_local) * 2);
|
||||
|
||||
dictIterator *di;
|
||||
dictEntry *de;
|
||||
@ -3240,25 +3240,25 @@ void sentinelCommand(client *c) {
|
||||
while ((de = dictNext(di)) != NULL) {
|
||||
sentinelRedisInstance *ri = dictGetVal(de);
|
||||
addReplyBulkCBuffer(c,ri->name,strlen(ri->name));
|
||||
addReplyMultiBulkLen(c,dictSize(ri->slaves) + 1); /* +1 for self */
|
||||
addReplyMultiBulkLen(c,2);
|
||||
addReplyArrayLen(c,dictSize(ri->slaves) + 1); /* +1 for self */
|
||||
addReplyArrayLen(c,2);
|
||||
addReplyLongLong(c, now - ri->info_refresh);
|
||||
if (ri->info)
|
||||
addReplyBulkCBuffer(c,ri->info,sdslen(ri->info));
|
||||
else
|
||||
addReply(c,shared.nullbulk);
|
||||
addReplyNull(c);
|
||||
|
||||
dictIterator *sdi;
|
||||
dictEntry *sde;
|
||||
sdi = dictGetIterator(ri->slaves);
|
||||
while ((sde = dictNext(sdi)) != NULL) {
|
||||
sentinelRedisInstance *sri = dictGetVal(sde);
|
||||
addReplyMultiBulkLen(c,2);
|
||||
addReplyArrayLen(c,2);
|
||||
addReplyLongLong(c, now - sri->info_refresh);
|
||||
if (sri->info)
|
||||
addReplyBulkCBuffer(c,sri->info,sdslen(sri->info));
|
||||
else
|
||||
addReply(c,shared.nullbulk);
|
||||
addReplyNull(c);
|
||||
}
|
||||
dictReleaseIterator(sdi);
|
||||
}
|
||||
@ -3282,7 +3282,7 @@ void sentinelCommand(client *c) {
|
||||
serverLog(LL_WARNING,"Failure simulation: this Sentinel "
|
||||
"will crash after promoting the selected replica to master");
|
||||
} else if (!strcasecmp(c->argv[j]->ptr,"help")) {
|
||||
addReplyMultiBulkLen(c,2);
|
||||
addReplyArrayLen(c,2);
|
||||
addReplyBulkCString(c,"crash-after-election");
|
||||
addReplyBulkCString(c,"crash-after-promotion");
|
||||
} else {
|
||||
@ -3382,9 +3382,9 @@ void sentinelRoleCommand(client *c) {
|
||||
dictIterator *di;
|
||||
dictEntry *de;
|
||||
|
||||
addReplyMultiBulkLen(c,2);
|
||||
addReplyArrayLen(c,2);
|
||||
addReplyBulkCBuffer(c,"sentinel",8);
|
||||
addReplyMultiBulkLen(c,dictSize(sentinel.masters));
|
||||
addReplyArrayLen(c,dictSize(sentinel.masters));
|
||||
|
||||
di = dictGetIterator(sentinel.masters);
|
||||
while((de = dictNext(di)) != NULL) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user