Former-commit-id: 49d86746edef497a568c6f3a64695d420305cca8
This commit is contained in:
parent
ae344960f1
commit
8800a516d1
@ -685,8 +685,26 @@ NULL
|
|||||||
} else if (!strcasecmp(szFromObj(c->argv[1]),"stringmatch-test") && c->argc == 2) {
|
} else if (!strcasecmp(szFromObj(c->argv[1]),"stringmatch-test") && c->argc == 2) {
|
||||||
stringmatchlen_fuzz_test();
|
stringmatchlen_fuzz_test();
|
||||||
addReplyStatus(c,"Apparently Redis did not crash: test passed");
|
addReplyStatus(c,"Apparently Redis did not crash: test passed");
|
||||||
} else if (!strcasecmp(szFromObj(c->argv[1]), "force-master") && c->argc == 2) {
|
} else if (!strcasecmp(szFromObj(c->argv[1]), "force-master") && c->argc == 3) {
|
||||||
c->flags |= CLIENT_MASTER | CLIENT_MASTER_FORCE_REPLY;
|
c->flags |= CLIENT_MASTER | CLIENT_MASTER_FORCE_REPLY;
|
||||||
|
if (!strcasecmp(szFromObj(c->argv[2]), "yes"))
|
||||||
|
{
|
||||||
|
redisMaster *mi = (redisMaster*)zcalloc(sizeof(redisMaster), MALLOC_LOCAL);
|
||||||
|
mi->master = c;
|
||||||
|
listAddNodeHead(g_pserver->masters, mi);
|
||||||
|
}
|
||||||
|
else if (strcasecmp(szFromObj(c->argv[2]), "flagonly")) // if we didn't set flagonly assume its an unset
|
||||||
|
{
|
||||||
|
serverAssert(c->flags & CLIENT_MASTER);
|
||||||
|
if (listLength(g_pserver->masters))
|
||||||
|
{
|
||||||
|
redisMaster *mi = (redisMaster*)listNodeValue(listFirst(g_pserver->masters));
|
||||||
|
serverAssert(mi->master == c);
|
||||||
|
listDelNode(g_pserver->masters, listFirst(g_pserver->masters));
|
||||||
|
zfree(mi);
|
||||||
|
}
|
||||||
|
c->flags &= ~(CLIENT_MASTER | CLIENT_MASTER_FORCE_REPLY);
|
||||||
|
}
|
||||||
addReply(c, shared.ok);
|
addReply(c, shared.ok);
|
||||||
} else {
|
} else {
|
||||||
addReplySubcommandSyntaxError(c);
|
addReplySubcommandSyntaxError(c);
|
||||||
|
@ -309,3 +309,5 @@ start_server {tags {"repl"}} {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@ set ::all_tests {
|
|||||||
unit/acl
|
unit/acl
|
||||||
unit/rreplay
|
unit/rreplay
|
||||||
unit/cron
|
unit/cron
|
||||||
|
unit/replication
|
||||||
integration/block-repl
|
integration/block-repl
|
||||||
integration/replication
|
integration/replication
|
||||||
integration/replication-2
|
integration/replication-2
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
start_server {tags {"rreplay"}} {
|
start_server {tags {"rreplay"} overrides {active-replica yes}} {
|
||||||
|
|
||||||
test {RREPLAY use current db} {
|
test {RREPLAY use current db} {
|
||||||
r debug force-master
|
r debug force-master flagonly
|
||||||
r select 4
|
r select 4
|
||||||
r set dbnum invalid
|
r set dbnum invalid
|
||||||
r rreplay "f4d5b2b5-4f07-4ee5-a4f2-5dc98507dfce" "*3\r\n\$3\r\nSET\r\n\$5\r\ndbnum\r\n\$4\r\nfour\r\n"
|
r rreplay "f4d5b2b5-4f07-4ee5-a4f2-5dc98507dfce" "*3\r\n\$3\r\nSET\r\n\$5\r\ndbnum\r\n\$4\r\nfour\r\n"
|
||||||
@ -10,7 +10,7 @@ start_server {tags {"rreplay"}} {
|
|||||||
reconnect
|
reconnect
|
||||||
|
|
||||||
test {RREPLAY db different} {
|
test {RREPLAY db different} {
|
||||||
r debug force-master
|
r debug force-master flagonly
|
||||||
r select 4
|
r select 4
|
||||||
r set testkey four
|
r set testkey four
|
||||||
r rreplay "f4d5b2b5-4f07-4ee5-a4f2-5dc98507dfce" "*3\r\n\$3\r\nSET\r\n\$7\r\ntestkey\r\n\$4\r\nbebe\r\n" 2
|
r rreplay "f4d5b2b5-4f07-4ee5-a4f2-5dc98507dfce" "*3\r\n\$3\r\nSET\r\n\$7\r\ntestkey\r\n\$4\r\nbebe\r\n" 2
|
||||||
|
Loading…
x
Reference in New Issue
Block a user