@@ -257,7 +257,7 @@ class ConsensusCoordinator {
257257 pstd::Status AppendSlaveEntries (const std::shared_ptr<Cmd>& cmd_ptr, const BinlogItem& attribute);
258258 pstd::Status CommitAppLog (const LogOffset& master_committed_id);
259259 pstd::Status UpdateCommittedID ();
260- pstd::Status ApplyBinlog (const std::shared_ptr<Cmd >& cmd_ptr );
260+ pstd::Status ApplyBinlog (const std::vector<Log::LogItem >& logs );
261261 pstd::Status ProcessCoordination ();
262262
263263 LogOffset GetCommittedId () {
@@ -276,7 +276,10 @@ class ConsensusCoordinator {
276276 std::lock_guard l (committed_id_rwlock_);
277277 committed_id_ = offset;
278278 context_->UpdateAppliedIndex (committed_id_);
279+ committed_id_cv_.notify_all ();
279280 }
281+ pstd::Mutex* GetCommittedIdMu () { return &committed_id_mu_; }
282+ pstd::CondVar* GetCommittedIdCv () { return &committed_id_cv_; }
280283
281284 private:
282285 pstd::Status PersistAppendBinlog (const std::shared_ptr<Cmd>& cmd_ptr, LogOffset& cur_offset);
@@ -285,6 +288,8 @@ class ConsensusCoordinator {
285288 std::shared_mutex is_consistency_rwlock_;
286289 bool is_consistency_ = false ;
287290 std::shared_mutex committed_id_rwlock_;
291+ pstd::Mutex committed_id_mu_;
292+ pstd::CondVar committed_id_cv_;
288293 LogOffset committed_id_ = LogOffset();
289294 std::shared_mutex prepared_id__rwlock_;
290295 LogOffset prepared_id_ = LogOffset();
0 commit comments