Merge v4.3.16 into hotfix/v4.4.5
This commit is contained in:
parent
c74bbae22b
commit
92d1c37662
|
@ -6,9 +6,10 @@
|
||||||
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
|
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
||||||
|
{add_module,emqx_exclusive_subscription},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_add_module,[]}},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
{add_module,emqx_exclusive_subscription},
|
|
||||||
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
|
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_app,brutal_purge,soft_purge,[]},
|
{load_module,emqx_app,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
||||||
|
@ -17,9 +18,10 @@
|
||||||
[{add_module,emqx_calendar},
|
[{add_module,emqx_calendar},
|
||||||
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
||||||
|
{add_module,emqx_exclusive_subscription},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_add_module,[]}},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
{add_module,emqx_exclusive_subscription},
|
|
||||||
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
||||||
|
@ -41,9 +43,10 @@
|
||||||
[{add_module,emqx_calendar},
|
[{add_module,emqx_calendar},
|
||||||
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
||||||
|
{add_module,emqx_exclusive_subscription},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_add_module,[]}},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
{add_module,emqx_exclusive_subscription},
|
|
||||||
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_session,brutal_purge,soft_purge,[]},
|
{load_module,emqx_session,brutal_purge,soft_purge,[]},
|
||||||
|
@ -67,9 +70,10 @@
|
||||||
{"4.4.1",
|
{"4.4.1",
|
||||||
[{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
||||||
|
{add_module,emqx_exclusive_subscription},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_add_module,[]}},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
{add_module,emqx_exclusive_subscription},
|
|
||||||
{add_module,emqx_calendar},
|
{add_module,emqx_calendar},
|
||||||
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_access_rule,brutal_purge,soft_purge,[]},
|
{load_module,emqx_access_rule,brutal_purge,soft_purge,[]},
|
||||||
|
@ -103,9 +107,10 @@
|
||||||
[{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
||||||
{add_module,emqx_calendar},
|
{add_module,emqx_calendar},
|
||||||
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
||||||
|
{add_module,emqx_exclusive_subscription},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_add_module,[]}},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
{add_module,emqx_exclusive_subscription},
|
|
||||||
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_access_rule,brutal_purge,soft_purge,[]},
|
{load_module,emqx_access_rule,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]},
|
{load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]},
|
||||||
|
@ -146,6 +151,7 @@
|
||||||
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_delete_module, []}},
|
||||||
{delete_module,emqx_exclusive_subscription},
|
{delete_module,emqx_exclusive_subscription},
|
||||||
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
|
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_app,brutal_purge,soft_purge,[]},
|
{load_module,emqx_app,brutal_purge,soft_purge,[]},
|
||||||
|
@ -156,6 +162,7 @@
|
||||||
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_delete_module, []}},
|
||||||
{delete_module,emqx_exclusive_subscription},
|
{delete_module,emqx_exclusive_subscription},
|
||||||
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
||||||
|
@ -179,6 +186,7 @@
|
||||||
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_delete_module, []}},
|
||||||
{delete_module,emqx_exclusive_subscription},
|
{delete_module,emqx_exclusive_subscription},
|
||||||
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
||||||
{delete_module,emqx_calendar},
|
{delete_module,emqx_calendar},
|
||||||
|
@ -204,6 +212,7 @@
|
||||||
[{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_delete_module, []}},
|
||||||
{delete_module,emqx_exclusive_subscription},
|
{delete_module,emqx_exclusive_subscription},
|
||||||
{delete_module,emqx_calendar},
|
{delete_module,emqx_calendar},
|
||||||
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
|
||||||
|
@ -238,6 +247,7 @@
|
||||||
[{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_broker,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
|
||||||
|
{apply,{emqx_exclusive_subscription,on_delete_module, []}},
|
||||||
{delete_module,emqx_exclusive_subscription},
|
{delete_module,emqx_exclusive_subscription},
|
||||||
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
|
||||||
{delete_module,emqx_calendar},
|
{delete_module,emqx_calendar},
|
||||||
|
|
|
@ -27,6 +27,9 @@
|
||||||
-boot_mnesia({mnesia, [boot]}).
|
-boot_mnesia({mnesia, [boot]}).
|
||||||
-copy_mnesia({mnesia, [copy]}).
|
-copy_mnesia({mnesia, [copy]}).
|
||||||
|
|
||||||
|
%% For upgrade
|
||||||
|
-export([on_add_module/0, on_delete_module/0]).
|
||||||
|
|
||||||
-export([
|
-export([
|
||||||
check_subscribe/2,
|
check_subscribe/2,
|
||||||
unsubscribe/2
|
unsubscribe/2
|
||||||
|
@ -58,7 +61,22 @@ mnesia(boot) ->
|
||||||
{storage_properties, StoreProps}
|
{storage_properties, StoreProps}
|
||||||
]);
|
]);
|
||||||
mnesia(copy) ->
|
mnesia(copy) ->
|
||||||
ok = ekka_mnesia:copy_table(?TAB, ram_copies).
|
case ekka_mnesia:copy_table(?TAB, ram_copies) of
|
||||||
|
ok ->
|
||||||
|
ok;
|
||||||
|
{no_exists, _} ->
|
||||||
|
mnesia(boot)
|
||||||
|
end.
|
||||||
|
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Upgrade
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
on_add_module() ->
|
||||||
|
mnesia(boot).
|
||||||
|
|
||||||
|
on_delete_module() ->
|
||||||
|
mnesia:clear_table(?TAB).
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% APIs
|
%% APIs
|
||||||
|
|
Loading…
Reference in New Issue