| 684 | } |
| 685 | |
| 686 | Status ExecEnv::GetKuduClient(const vector<string>& master_addresses, |
| 687 | kudu::client::sp::shared_ptr<kudu::client::KuduClient>* client) { |
| 688 | string master_addr_concat = join(master_addresses, ","); |
| 689 | lock_guard<SpinLock> l(kudu_client_map_lock_); |
| 690 | auto kudu_client_map_it = kudu_client_map_.find(master_addr_concat); |
| 691 | if (kudu_client_map_it == kudu_client_map_.end()) { |
| 692 | // KuduClient doesn't exist, create it. |
| 693 | LOG(INFO) << "Creating a new KuduClient for masters=" << master_addr_concat; |
| 694 | kudu::client::sp::shared_ptr<kudu::client::KuduClient> kudu_client; |
| 695 | RETURN_IF_ERROR(CreateKuduClient(master_addresses, &kudu_client)); |
| 696 | kudu_client_map_.insert(make_pair(master_addr_concat, kudu_client)); |
| 697 | *client = kudu_client; |
| 698 | } else { |
| 699 | // Return existing KuduClient |
| 700 | *client = kudu_client_map_it->second; |
| 701 | } |
| 702 | return Status::OK(); |
| 703 | } |
| 704 | |
| 705 | bool ExecEnv::AdmissionServiceEnabled() const { |
| 706 | return !FLAGS_admission_service_host.empty(); |