From a382f2fffdf4452c3f13e5bc9e11f48cf73ef9ce Mon Sep 17 00:00:00 2001 From: malavan Date: Wed, 24 Nov 2021 21:59:01 +0000 Subject: [PATCH] remove async write from fast sync repl buffer and fix some bugs Former-commit-id: 6c45706f75d8322281296d9c73a3fac4f7f383a1 --- src/replication.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/replication.cpp b/src/replication.cpp index 3651b0113..06160bc8c 100644 --- a/src/replication.cpp +++ b/src/replication.cpp @@ -975,14 +975,7 @@ public: aeAcquireLock(); } - if (ireplica == replicas.size()-1 && replica->replyAsync == nullptr) { - if (prepareClientToWrite(replica) == C_OK) { - replica->replyAsync = reply; - reply = nullptr; - } - } else { - addReplyProto(replica, reply->buf(), reply->size); - } + addReplyProto(replica, reply->buf(), reply->used); } ProcessPendingAsyncWrites(); replicas.erase(std::remove_if(replicas.begin(), replicas.end(), [](const client *c)->bool{ return c->flags.load(std::memory_order_relaxed) & CLIENT_CLOSE_ASAP;}), replicas.end()); @@ -1089,7 +1082,7 @@ int rdbSaveSnapshotForReplication(struct rdbSaveInfo *rsi) { spreplBuf->addLong(rsi->repl_stream_db); spreplBuf->addArrayLen(2); spreplBuf->addString("repl-id", 7); - spreplBuf->addString(rsi->repl_id, CONFIG_RUN_ID_SIZE+1); + spreplBuf->addString(rsi->repl_id, CONFIG_RUN_ID_SIZE); spreplBuf->addArrayLen(2); spreplBuf->addString("repl-offset", 11); spreplBuf->addLong(rsi->master_repl_offset);