| 111 | } |
| 112 | |
| 113 | void SplitTabletProcedure::LoadTabletsPhaseHandler(const SplitTabletPhase&) { |
| 114 | if (!load_procs_[0] && !load_procs_[1]) { |
| 115 | TabletNodePtr node = tablet_->GetTabletNode(); |
| 116 | // try load tablet at the origin tabletnode considering cache locality |
| 117 | load_procs_[0].reset(new LoadTabletProcedure(child_tablets_[0], node, thread_pool_ /*, true*/)); |
| 118 | load_procs_[1].reset(new LoadTabletProcedure(child_tablets_[1], node, thread_pool_ /*, true*/)); |
| 119 | PROC_LOG(INFO) << "Generate LoadTablet SubProcedure1: " << load_procs_[0]->ProcId(); |
| 120 | PROC_LOG(INFO) << "Generate LoadTablet SubProcedure2, " << load_procs_[1]->ProcId(); |
| 121 | MasterEnv().GetExecutor()->AddProcedure(load_procs_[0]); |
| 122 | MasterEnv().GetExecutor()->AddProcedure(load_procs_[1]); |
| 123 | } |
| 124 | PROC_CHECK(load_procs_[0] && load_procs_[1]); |
| 125 | SetNextPhase(SplitTabletPhase::kEofPhase); |
| 126 | } |
| 127 | |
| 128 | void SplitTabletProcedure::FaultRecoverPhaseHandler(const SplitTabletPhase&) { |
| 129 | PROC_CHECK(phases_.size() >= 2 && GetCurrentPhase() == SplitTabletPhase::kFaultRecover); |