MCPcopy Create free account
hub / github.com/baidu/tera / UpdateMetaDone

Method UpdateMetaDone

src/master/split_tablet_procedure.cc:214–229  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

212}
213
214void SplitTabletProcedure::UpdateMetaDone(bool) {
215 TabletMeta first_meta, second_meta;
216 child_tablets_[0]->ToMeta(&first_meta);
217 first_meta.set_status(TabletMeta::kTabletOffline);
218 child_tablets_[1]->ToMeta(&second_meta);
219 second_meta.set_status(TabletMeta::kTabletOffline);
220 TablePtr table = tablet_->GetTable();
221 child_tablets_[0]->LockTransition();
222 child_tablets_[1]->LockTransition();
223
224 tablet_->DoStateTransition(TabletEvent::kFinishSplitTablet);
225 table->SplitTablet(tablet_, first_meta, second_meta, &child_tablets_[0], &child_tablets_[1]);
226 PROC_LOG(INFO) << "split finish, " << tablet_ << ", try load child tablet,"
227 << "\nfirst: " << child_tablets_[0] << "\nsecond: " << child_tablets_[1];
228 SetNextPhase(SplitTabletPhase::kLoadTablets);
229}
230
231bool SplitTabletProcedure::TabletStatusCheck() {
232 leveldb::Env* env = io::LeveldbBaseEnv();

Callers

nothing calls this directly

Calls 5

ToMetaMethod · 0.80
SplitTabletMethod · 0.80
GetTableMethod · 0.45
LockTransitionMethod · 0.45
DoStateTransitionMethod · 0.45

Tested by

no test coverage detected