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

Method LoadMetaTablet

src/master/master_impl.cc:527–557  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

525}
526
527bool MasterImpl::LoadMetaTablet(std::string *server_addr) {
528 TabletMeta meta;
529 meta.set_table_name(FLAGS_tera_master_meta_table_name);
530 meta.set_path(FLAGS_tera_master_meta_table_path);
531 meta.mutable_key_range()->set_key_start("");
532 meta.mutable_key_range()->set_key_end("");
533 TableSchema schema;
534 schema.set_name(FLAGS_tera_master_meta_table_name);
535 schema.set_kv_only(true);
536 LocalityGroupSchema *lg_schema = schema.add_locality_groups();
537 lg_schema->set_compress_type(false);
538 lg_schema->set_store_type(MemoryStore);
539
540 TabletNodePtr node;
541 TabletPtr tablet(new Tablet(
542 meta, TablePtr(new Table(FLAGS_tera_master_meta_table_name, schema, kTableEnable))));
543 while (tabletnode_manager_->ScheduleTabletNode(size_scheduler_.get(), "", tablet, false, &node)) {
544 *server_addr = node->GetAddr();
545 meta.set_server_addr(*server_addr);
546 StatusCode status = kTabletNodeOk;
547 if (LoadTabletSync(meta, schema, &status)) {
548 LOG(INFO) << "load meta tablet on node: " << *server_addr;
549 return true;
550 }
551 LOG(ERROR) << "fail to load meta tablet on node: " << *server_addr
552 << ", status: " << StatusCodeToString(status);
553 TryKickTabletNode(*server_addr);
554 }
555 LOG(ERROR) << "no live node to load meta tablet";
556 return false;
557}
558
559void MasterImpl::UnloadMetaTablet(const std::string &server_addr) {
560 StatusCode status = kTabletNodeOk;

Callers

nothing calls this directly

Calls 3

StatusCodeToStringFunction · 0.85
ScheduleTabletNodeMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected