diff --git a/conanfile.py b/conanfile.py index e6bb7fea6..03d856077 100644 --- a/conanfile.py +++ b/conanfile.py @@ -9,7 +9,7 @@ class HomestoreConan(ConanFile): name = "homestore" - version = "6.6.3" + version = "6.6.4" homepage = "https://github.com/eBay/Homestore" description = "HomeStore Storage Engine" diff --git a/src/lib/replication/repl_dev/raft_repl_dev.cpp b/src/lib/replication/repl_dev/raft_repl_dev.cpp index c408f82d1..d340dc7df 100644 --- a/src/lib/replication/repl_dev/raft_repl_dev.cpp +++ b/src/lib/replication/repl_dev/raft_repl_dev.cpp @@ -503,7 +503,7 @@ repl_req_ptr_t RaftReplDev::applier_create_req(repl_key const& rkey, journal_typ } // rreq->init will allocate the block if it has linked data. - auto status = rreq->init(rkey, code, false /* is_proposer */, user_header, key, data_size, m_listener); + auto status = rreq->init(rkey, code, m_raft_server_id == rkey.server_id, user_header, key, data_size, m_listener); if (!rreq->has_linked_data()) { return rreq; } #ifdef _PRERELEASE if (is_data_channel) { diff --git a/src/lib/replication/repl_dev/raft_state_machine.cpp b/src/lib/replication/repl_dev/raft_state_machine.cpp index 10fb9285f..2d036170e 100644 --- a/src/lib/replication/repl_dev/raft_state_machine.cpp +++ b/src/lib/replication/repl_dev/raft_state_machine.cpp @@ -154,15 +154,9 @@ repl_req_ptr_t RaftStateMachine::localize_journal_entry_finish(nuraft::log_entry auto rreq = m_rd.repl_key_to_req(rkey); if ((rreq == nullptr) || (rreq->is_localize_pending())) { - rreq = localize_journal_entry_prepare(lentry); - if (rreq == nullptr) { - RELEASE_ASSERT(rreq != nullptr, - "We get an linked data for rkey=[{}], jentry=[{}] not as part of Raft Append but " - "indirectly through possibly unpack() and in those cases, if we are not able to alloc " - "location to write the data, there is no recourse. So we must crash this system ", - rkey.to_string(), jentry->to_string()); - return nullptr; - } + // This path is for log pack apply only. + // Now we fully disabled log pack/unpack with the new_learner opt, should not reaching here. + RELEASE_ASSERT(false, "rreq should have already localized for rkey=[{}]", rkey.to_string()); } if (rreq->is_proposer()) {