/Users/deen/code/yugabyte-db/ent/src/yb/master/master_ent.cc
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright (c) YugaByte, Inc. |
2 | | // |
3 | | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except |
4 | | // in compliance with the License. You may obtain a copy of the License at |
5 | | // |
6 | | // http://www.apache.org/licenses/LICENSE-2.0 |
7 | | // |
8 | | // Unless required by applicable law or agreed to in writing, software distributed under the License |
9 | | // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express |
10 | | // or implied. See the License for the specific language governing permissions and limitations |
11 | | // under the License. |
12 | | |
13 | | #include "yb/master/master.h" |
14 | | |
15 | | #include "yb/master/master_backup.service.h" |
16 | | #include "yb/master/master_backup_service.h" |
17 | | |
18 | | #include "yb/rpc/secure_stream.h" |
19 | | |
20 | | #include "yb/server/hybrid_clock.h" |
21 | | #include "yb/server/secure.h" |
22 | | |
23 | | #include "yb/util/flag_tags.h" |
24 | | #include "yb/util/ntp_clock.h" |
25 | | #include "yb/util/result.h" |
26 | | |
27 | | DEFINE_int32(master_backup_svc_queue_length, 50, |
28 | | "RPC queue length for master backup service"); |
29 | | TAG_FLAG(master_backup_svc_queue_length, advanced); |
30 | | |
31 | | DECLARE_string(cert_node_filename); |
32 | | |
33 | | namespace yb { |
34 | | namespace master { |
35 | | namespace enterprise { |
36 | | |
37 | | using yb::rpc::ServiceIf; |
38 | | |
39 | 5.45k | Master::Master(const MasterOptions& opts) : super(opts) { |
40 | 5.45k | } |
41 | | |
42 | 92 | Master::~Master() { |
43 | 92 | } |
44 | | |
45 | 5.42k | Status Master::RegisterServices() { |
46 | | #if !defined(__APPLE__) |
47 | | server::HybridClock::RegisterProvider(NtpClock::Name(), [](const std::string&) { |
48 | | return std::make_shared<NtpClock>(); |
49 | | }); |
50 | | #endif |
51 | | |
52 | 5.42k | std::unique_ptr<ServiceIf> master_backup_service(new MasterBackupServiceImpl(this)); |
53 | 5.42k | RETURN_NOT_OK(RpcAndWebServerBase::RegisterService(FLAGS_master_backup_svc_queue_length, |
54 | 5.42k | std::move(master_backup_service))); |
55 | | |
56 | 5.42k | return super::RegisterServices(); |
57 | 5.42k | } |
58 | | |
59 | 5.45k | Status Master::SetupMessengerBuilder(rpc::MessengerBuilder* builder) { |
60 | 5.45k | RETURN_NOT_OK(super::SetupMessengerBuilder(builder)); |
61 | 5.45k | if (!FLAGS_cert_node_filename.empty()) { |
62 | 0 | secure_context_ = VERIFY_RESULT(server::SetupSecureContext( |
63 | 0 | server::DefaultRootDir(*fs_manager_), |
64 | 0 | FLAGS_cert_node_filename, |
65 | 0 | server::SecureContextType::kInternal, |
66 | 0 | builder)); |
67 | 5.45k | } else { |
68 | 5.45k | const string &hosts = !options_.server_broadcast_addresses.empty() |
69 | 0 | ? options_.server_broadcast_addresses |
70 | 5.45k | : options_.rpc_opts.rpc_bind_addresses; |
71 | 5.45k | secure_context_ = VERIFY_RESULT(server::SetupSecureContext( |
72 | 5.45k | hosts, *fs_manager_, server::SecureContextType::kInternal, builder)); |
73 | 5.45k | } |
74 | | |
75 | 5.45k | return Status::OK(); |
76 | 5.45k | } |
77 | | |
78 | | } // namespace enterprise |
79 | | } // namespace master |
80 | | } // namespace yb |