Handle race where a different thread cancels the replication but we haven't closed the connection

Former-commit-id: 92e48f071792985c2fb7f4c722329e832cd4c77b
This commit is contained in:
John Sully 2021-05-30 02:08:02 +00:00
parent 24377fa8fc
commit 542a83edec

View File

@ -1993,6 +1993,10 @@ void readSyncBulkPayload(connection *conn) {
// Should we update our database, or create from scratch?
int fUpdate = g_pserver->fActiveReplica || g_pserver->enable_multimaster;
redisMaster *mi = (redisMaster*)connGetPrivateData(conn);
if (mi == nullptr) {
// We're about to be free'd so bail out
return;
}
serverAssert(GlobalLocksAcquired());
serverAssert(mi->master == nullptr);