@@ -3022,17 +3022,48 @@ void MetaClient::loadLeader(const std::vector<cpp2::HostItem>& hostItems,
3022
3022
}
3023
3023
}
3024
3024
3025
- folly::Future<StatusOr<bool >> MetaClient::addZone (std::string zoneName,
3026
- std::vector<HostAddr> nodes) {
3027
- cpp2::AddZoneReq req;
3028
- req.set_zone_name (std::move (zoneName));
3029
- req.set_nodes (std::move (nodes));
3025
+ folly::Future<StatusOr<bool >> MetaClient::addHosts (std::vector<HostAddr> hosts) {
3026
+ cpp2::AddHostsReq req;
3027
+ req.set_hosts (std::move (hosts));
3028
+
3029
+ folly::Promise<StatusOr<bool >> promise;
3030
+ auto future = promise.getFuture ();
3031
+ getResponse (
3032
+ std::move (req),
3033
+ [](auto client, auto request) { return client->future_addHosts (request); },
3034
+ [](cpp2::ExecResp&& resp) -> bool {
3035
+ return resp.get_code () == nebula::cpp2::ErrorCode::SUCCEEDED;
3036
+ },
3037
+ std::move (promise));
3038
+ return future;
3039
+ }
3040
+
3041
+ folly::Future<StatusOr<bool >> MetaClient::dropHosts (std::vector<HostAddr> hosts) {
3042
+ cpp2::DropHostsReq req;
3043
+ req.set_hosts (std::move (hosts));
3044
+
3045
+ folly::Promise<StatusOr<bool >> promise;
3046
+ auto future = promise.getFuture ();
3047
+ getResponse (
3048
+ std::move (req),
3049
+ [](auto client, auto request) { return client->future_dropHosts (request); },
3050
+ [](cpp2::ExecResp&& resp) -> bool {
3051
+ return resp.get_code () == nebula::cpp2::ErrorCode::SUCCEEDED;
3052
+ },
3053
+ std::move (promise));
3054
+ return future;
3055
+ }
3030
3056
3057
+ folly::Future<StatusOr<bool >> MetaClient::mergeZone (std::vector<std::string> zones,
3058
+ std::string zoneName) {
3059
+ cpp2::MergeZoneReq req;
3060
+ req.set_zone_name (zoneName);
3061
+ req.set_zones (zones);
3031
3062
folly::Promise<StatusOr<bool >> promise;
3032
3063
auto future = promise.getFuture ();
3033
3064
getResponse (
3034
3065
std::move (req),
3035
- [](auto client, auto request) { return client->future_addZone (request); },
3066
+ [](auto client, auto request) { return client->future_mergeZone (request); },
3036
3067
[](cpp2::ExecResp&& resp) -> bool {
3037
3068
return resp.get_code () == nebula::cpp2::ErrorCode::SUCCEEDED;
3038
3069
},
@@ -3056,33 +3087,35 @@ folly::Future<StatusOr<bool>> MetaClient::dropZone(std::string zoneName) {
3056
3087
return future;
3057
3088
}
3058
3089
3059
- folly::Future<StatusOr<bool >> MetaClient::addHostIntoZone (HostAddr node, std::string zoneName) {
3060
- cpp2::AddHostIntoZoneReq req;
3061
- req. set_node (node) ;
3090
+ folly::Future<StatusOr<bool >> MetaClient::splitZone (
3091
+ std::string zoneName, std::unordered_map<std::string, std::vector<HostAddr>>) {
3092
+ cpp2::SplitZoneReq req;
3062
3093
req.set_zone_name (zoneName);
3063
-
3064
3094
folly::Promise<StatusOr<bool >> promise;
3065
3095
auto future = promise.getFuture ();
3066
3096
getResponse (
3067
3097
std::move (req),
3068
- [](auto client, auto request) { return client->future_addHostIntoZone (request); },
3098
+ [](auto client, auto request) { return client->future_splitZone (request); },
3069
3099
[](cpp2::ExecResp&& resp) -> bool {
3070
3100
return resp.get_code () == nebula::cpp2::ErrorCode::SUCCEEDED;
3071
3101
},
3072
3102
std::move (promise));
3073
3103
return future;
3074
3104
}
3075
3105
3076
- folly::Future<StatusOr<bool >> MetaClient::dropHostFromZone (HostAddr node, std::string zoneName) {
3077
- cpp2::DropHostFromZoneReq req;
3078
- req.set_node (node);
3106
+ folly::Future<StatusOr<bool >> MetaClient::addHostsIntoZone (std::vector<HostAddr> hosts,
3107
+ std::string zoneName,
3108
+ bool isNew) {
3109
+ cpp2::AddHostsIntoZoneReq req;
3110
+ req.set_hosts (hosts);
3079
3111
req.set_zone_name (zoneName);
3112
+ req.set_is_new (isNew);
3080
3113
3081
3114
folly::Promise<StatusOr<bool >> promise;
3082
3115
auto future = promise.getFuture ();
3083
3116
getResponse (
3084
3117
std::move (req),
3085
- [](auto client, auto request) { return client->future_dropHostFromZone (request); },
3118
+ [](auto client, auto request) { return client->future_addHostsIntoZone (request); },
3086
3119
[](cpp2::ExecResp&& resp) -> bool {
3087
3120
return resp.get_code () == nebula::cpp2::ErrorCode::SUCCEEDED;
3088
3121
},
0 commit comments