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

Method DelTabletNode

src/master/tabletnode_manager.cc:352–369  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

350}
351
352TabletNodePtr TabletNodeManager::DelTabletNode(const std::string& addr) {
353 TabletNodePtr state(nullptr);
354
355 MutexLock lock(&mutex_);
356 TabletNodeList::iterator it = tabletnode_list_.find(addr);
357 if (it == tabletnode_list_.end()) {
358 LOG(ERROR) << "tabletnode [" << addr << "] does not exist";
359 return state;
360 }
361 state = it->second;
362 state->DoStateTransition(NodeEvent::kZkSessionTimeout);
363 // state->SetState(kOffLine, NULL);
364 tabletnode_list_.erase(it);
365
366 // delete node may block, so we'd better release the mutex before that
367 LOG(INFO) << "delete tabletnode: " << addr << ", uuid: " << state->uuid_;
368 return state;
369}
370
371void TabletNodeManager::UpdateTabletNode(const std::string& addr, const TabletNode& state) {
372 MutexLock lock(&mutex_);

Callers 2

DeleteTabletNodeMethod · 0.80
TEST_FFunction · 0.80

Calls 1

DoStateTransitionMethod · 0.45

Tested by 1

TEST_FFunction · 0.64