Fix test instability caused by MVCC slip with lfence command when async commands are enabled

This commit is contained in:
John Sully 2022-03-07 16:40:56 -05:00
parent 6fbf6f8ed1
commit 6eaefb7895
3 changed files with 11 additions and 0 deletions

View File

@ -1177,6 +1177,10 @@ struct redisCommand redisCommandTable[] = {
{"failover",failoverCommand,-1,
"admin no-script ok-stale",
0,NULL,0,0,0,0,0,0},
{"lfence", lfenceCommand,1,
"read-only random ok-stale",
0,NULL,0,0,0,0,0,0}
};
@ -4661,6 +4665,11 @@ void rejectCommand(client *c, robj *reply, int severity = ERR_CRITICAL) {
}
}
void lfenceCommand(client *c) {
c->mvccCheckpoint = getMvccTstamp();
addReply(c, shared.ok);
}
void rejectCommandFormat(client *c, const char *fmt, ...) {
if (c->cmd) c->cmd->rejected_calls++;
flagTransaction(c);

View File

@ -3784,6 +3784,7 @@ void hrenameCommand(client *c);
void stralgoCommand(client *c);
void resetCommand(client *c);
void failoverCommand(client *c);
void lfenceCommand(client *c);
int FBrokenLinkToMaster();

View File

@ -110,6 +110,7 @@ proc wait_for_ofs_sync {r1 r2} {
} else {
fail "replica didn't sync in time"
}
$r2 lfence
}
proc wait_done_loading r {