Merge pull request #8380 from lafirest/fix/exclusive_upgarde_4.3.16

Fix/exclusive upgarde 4.3.16
This commit is contained in:
lafirest 2022-07-01 19:11:50 +08:00 committed by GitHub
commit 3dd523bdff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 55 additions and 3 deletions

View File

@ -6,16 +6,18 @@
{load_module,emqx_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_access_rule,brutal_purge,soft_purge,[]},
{add_module,emqx_exclusive_subscription},
{apply, {emqx_exclusive_subscription, on_add_module, []}},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{add_module,emqx_exclusive_subscription}]},
{load_module,emqx_topic,brutal_purge,soft_purge,[]}]},
{"4.3.15",
[{add_module,emqx_calendar},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{add_module,emqx_exclusive_subscription},
{apply, {emqx_exclusive_subscription, on_add_module, []}},
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
@ -39,6 +41,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{add_module,emqx_exclusive_subscription},
{apply, {emqx_exclusive_subscription, on_add_module, []}},
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
@ -65,6 +68,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -97,6 +101,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -133,6 +138,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -171,6 +177,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -209,6 +216,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -251,6 +259,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -293,6 +302,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -335,6 +345,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -377,6 +388,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -419,6 +431,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -461,6 +474,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -503,6 +517,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]},
@ -545,6 +560,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
@ -589,6 +605,7 @@
[{add_module,emqx_calendar},
{load_module,emqx_topic,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_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
@ -643,9 +660,11 @@
{load_module,emqx_ctl,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription}]},
{"4.3.15",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -668,6 +687,7 @@
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.3.14",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -693,6 +713,7 @@
{load_module,emqx_hooks,brutal_purge,soft_purge,[]}]},
{"4.3.13",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -724,6 +745,7 @@
{load_module,emqx_connection,brutal_purge,soft_purge,[]}]},
{"4.3.12",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -758,6 +780,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.11",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -794,6 +817,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.10",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -830,6 +854,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.9",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -870,6 +895,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.8",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -910,6 +936,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.7",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -950,6 +977,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.6",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -990,6 +1018,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.5",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -1030,6 +1059,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.4",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -1070,6 +1100,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.3",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -1110,6 +1141,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.2",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -1150,6 +1182,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.1",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},
@ -1192,6 +1225,7 @@
{load_module,emqx_limiter,brutal_purge,soft_purge,[]}]},
{"4.3.0",
[{delete_module,emqx_calendar},
{apply, {emqx_exclusive_subscription, on_delete_module, []}},
{delete_module,emqx_exclusive_subscription},
{load_module,emqx_topic,brutal_purge,soft_purge,[]},
{load_module,emqx_mqtt_caps,brutal_purge,soft_purge,[]},

View File

@ -27,6 +27,9 @@
-boot_mnesia({mnesia, [boot]}).
-copy_mnesia({mnesia, [copy]}).
%% For upgrade
-export([on_add_module/0, on_delete_module/0]).
-export([
check_subscribe/2,
unsubscribe/2
@ -58,7 +61,22 @@ mnesia(boot) ->
{storage_properties, StoreProps}
]);
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