Zhongwen Deng 3 лет назад
Родитель
Сommit
8ba2b6cc18

+ 1 - 1
apps/emqx_conf/src/emqx_conf_app.erl

@@ -183,7 +183,7 @@ conf_sort({ok, _}, {ok, _}) ->
     false.
 
 sync_data_from_node(Node) ->
-    case emqx_conf_proto_v1:sync_data_from_node(Node) of
+    case emqx_conf_proto_v2:sync_data_from_node(Node) of
         {ok, DataBin} ->
             {ok, Files} = zip:unzip(DataBin, [{cwd, emqx:data_dir()}]),
             ?SLOG(debug, #{node => Node, msg => "sync_data_from_node_ok", files => Files}),

+ 1 - 6
apps/emqx_conf/src/proto/emqx_conf_proto_v1.erl

@@ -33,8 +33,7 @@
     reset/2,
     reset/3,
 
-    get_override_config_file/1,
-    sync_data_from_node/1
+    get_override_config_file/1
 ]).
 
 -include_lib("emqx/include/bpapi.hrl").
@@ -105,7 +104,3 @@ reset(Node, KeyPath, Opts) ->
 -spec get_override_config_file([node()]) -> emqx_rpc:multicall_result().
 get_override_config_file(Nodes) ->
     rpc:multicall(Nodes, emqx_conf_app, get_override_config_file, [], 20000).
-
--spec sync_data_from_node(node()) -> {ok, binary()} | emqx_rpc:badrpc().
-sync_data_from_node(Node) ->
-    rpc:call(Node, emqx_conf_app, sync_data_from_node, [], 20000).

+ 33 - 0
apps/emqx_conf/src/proto/emqx_conf_proto_v2.erl

@@ -0,0 +1,33 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2022 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_conf_proto_v2).
+
+-behaviour(emqx_bpapi).
+
+-export([
+    introduced_in/0,
+    sync_data_from_node/1
+]).
+
+-include_lib("emqx/include/bpapi.hrl").
+
+introduced_in() ->
+    "5.0.1".
+
+-spec sync_data_from_node(node()) -> {ok, binary()} | emqx_rpc:badrpc().
+sync_data_from_node(Node) ->
+    rpc:call(Node, emqx_conf_app, sync_data_from_node, [], 20000).