MCPcopy Create free account
hub / github.com/apache/impala / GetLocalBackendDescriptor

Method GetLocalBackendDescriptor

be/src/service/impala-server.cc:2741–2762  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2739}
2740
2741std::shared_ptr<const BackendDescriptorPB> ImpalaServer::GetLocalBackendDescriptor() {
2742 if (!AreServicesReady()) return nullptr;
2743
2744 lock_guard<mutex> l(local_backend_descriptor_lock_);
2745 // Check if the current backend descriptor needs to be initialized.
2746 if (local_backend_descriptor_.get() == nullptr) {
2747 shared_ptr<BackendDescriptorPB> new_be_desc =
2748 std::make_shared<BackendDescriptorPB>();
2749 BuildLocalBackendDescriptorInternal(new_be_desc.get());
2750 local_backend_descriptor_ = new_be_desc;
2751 }
2752
2753 // Check to see if it needs to be updated.
2754 if (IsShuttingDown() != local_backend_descriptor_->is_quiescing()) {
2755 std::shared_ptr<BackendDescriptorPB> new_be_desc =
2756 std::make_shared<BackendDescriptorPB>(*local_backend_descriptor_);
2757 new_be_desc->set_is_quiescing(IsShuttingDown());
2758 local_backend_descriptor_ = new_be_desc;
2759 }
2760
2761 return local_backend_descriptor_;
2762}
2763
2764void ImpalaServer::BuildLocalBackendDescriptorInternal(BackendDescriptorPB* be_desc) {
2765 DCHECK(AreServicesReady());

Callers 1

SetImpalaServerMethod · 0.45

Calls 1

getMethod · 0.65

Tested by

no test coverage detected