MCPcopy Create free account
hub / github.com/apache/mesos / doGet

Method doGet

src/state/zookeeper.cpp:449–479  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

447
448
449Result<Option<Entry>> ZooKeeperStorageProcess::doGet(const string& name)
450{
451 CHECK_NONE(error) << ": " << error.get();
452 CHECK(state == CONNECTED);
453
454 string result;
455 Stat stat;
456
457 int code = zk->get(znode + "/" + name, false, &result, &stat);
458
459 if (code == ZNONODE) {
460 return Option<Entry>::none();
461 } else if (code == ZINVALIDSTATE || (code != ZOK && zk->retryable(code))) {
462 CHECK(zk->getState() != ZOO_AUTH_FAILED_STATE);
463 return None(); // Try again later.
464 } else if (code != ZOK) {
465 return Error(
466 "Failed to get '" + znode + "/" + name +
467 "' in ZooKeeper: " + zk->message(code));
468 }
469
470 google::protobuf::io::ArrayInputStream stream(result.data(), result.size());
471
472 Entry entry;
473
474 if (!entry.ParseFromZeroCopyStream(&stream)) {
475 return Error("Failed to deserialize Entry");
476 }
477
478 return Some(entry);
479}
480
481
482Result<bool> ZooKeeperStorageProcess::doSet(const Entry& entry,

Callers

nothing calls this directly

Calls 9

NoneClass · 0.85
SomeFunction · 0.85
retryableMethod · 0.80
dataMethod · 0.80
ErrorFunction · 0.50
getMethod · 0.45
getStateMethod · 0.45
messageMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected