Scheduler
2017-01-08 18:56:25 0 举报
AI智能生成
StoreHandler
作者其他创作
大纲/内容
Scheduler
notify
Msg::Quit
Scheduler::shutdown
Msg::RawCmd
Scheduler::on_receive_new_cmd
Scheduler::schedule_command
Scheduler::insert_ctx,将请求上下文保存到cmd_ctxs中
Scheduler::lock_and_get_snapshot
Scheduler::acquire_lock,获取到lock,执行下一步,否则插入到等待队列中
Scheduler::get_snapshot
RaftKv.async_snapshot
Msg::SnapshotFinished
Scheduler::on_snapshot_finished
Scheduler::process_by_worker
process_read,处理只读命令
Command::Get
SnapshotStore::get
ProcessResult::Value
ReadFinished
发送到Scheduler.channel
Command::BatchGet
SnapshotStore::batch_get
ProcessResult::MultiKvpairs
ReadFinished
发送到Scheduler.channel
Command::Scan
SnapshotStore::scanner
ProcessResult::MultiKvpairs
ReadFinished
发送到Scheduler.channel
Command::ScanLock
MvccReader::new
MvccReader::scan_lock
Command::ResolveLock
MvccReader::new
MvccReader::scan_lock
Command::Gc
MvccReader::new
MvccReader::scan_keys
发送Msg::ReadFinished
process_write,处理写命令
Scheduler::process_write_impl
Command::Prewrite
MvccTxn::new
MvccTxn::prewrite
Command::Commit
MvccTxn::new
MvccTxn::commit
Command::Cleanup
MvccTxn::new
MvccTxn::rollback
Command::Rollback
MvccTxn::new
MvccTxn::rollback
Command::ResolveLock
MvccTxn::new
Command::Gc
MvccTxn::new
MvccTxn::gc
发送Msg::WritePrepareFinished
Msg::ReadFinished
Scheduler::on_read_finished
根据cid删除请求上下文,remove_ctx
判断执行结果是否是ProcessResult::NextCommand
是
调度执行下一个命令,Scheduler::schedule_command
不是
执行最终的回调函数,execute_callback,参数是StorageCb,ProcessResult
StorageCb::Boolean
ProcessResult::Res
StorageCb::Booleans
ProcessResult::MultiRes
StorageCb::SingleValue
ProcessResult::Value
StorageCb::KvPairs
ProcessResult::MultiKvpairs
StorageCb::Locks
ProcessResult::Locks
释放锁,Scheduler::release_lock
Msg::WritePrepareFinished
Scheduler::on_write_prepare_finished
Msg::WritePrepareFailed
Scheduler::on_write_prepare_failed
Msg::WriteFinished
Scheduler::on_write_finished
tick
0 条评论
下一页