Fix multithreaded test failure

Former-commit-id: 1840601f8efb27174efa0a66f78de8c490b5bba4
This commit is contained in:
John Sully 2020-10-27 01:54:13 +00:00
parent 418b6206ea
commit a3323d2b5b

View File

@ -3540,6 +3540,12 @@ void call(client *c, int flags) {
replicationFeedMonitors(c,g_pserver->monitors,c->db->id,c->argv,c->argc); replicationFeedMonitors(c,g_pserver->monitors,c->db->id,c->argv,c->argc);
} }
/* We need to transfer async writes before a client's repl state gets changed. Otherwise
we won't be able to propogate them correctly. */
if (c->cmd->flags & CMD_CATEGORY_REPLICATION) {
ProcessPendingAsyncWrites();
}
/* Initialization: clear the flags that must be set by the command on /* Initialization: clear the flags that must be set by the command on
* demand, and initialize the array for additional commands propagation. */ * demand, and initialize the array for additional commands propagation. */
c->flags &= ~(CLIENT_FORCE_AOF|CLIENT_FORCE_REPL|CLIENT_PREVENT_PROP); c->flags &= ~(CLIENT_FORCE_AOF|CLIENT_FORCE_REPL|CLIENT_PREVENT_PROP);