| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- %% This file contains instructions for upgrading from the LAST version to
- %% the CURRENT version.
- %%
- %% We only need to write instructions for the changes in the specific pull request,
- %% these files will be automatically merged/aggregated into a complete relup file
- %% before a new version is released.
- %%
- %% Note that we do not support the 'apply' command in the 'code_changes' section.
- %% If any complex operations are needed during the upgrade process, please add
- %% them in the 'post_upgrade_callbacks' section, and implement them in the
- %% 'emqx_post_upgrade' module. We consolidate the hot upgrade callback code into
- %% a single module ('emqx_post_upgrade') is to avoid mixing the hot upgrade-related
- %% code with the main logic code.
- ChildSpec = fun(Mod) ->
- #{
- id => Mod,
- start => {Mod, start_link, []},
- restart => permanent,
- shutdown => 5000,
- type => worker,
- modules => [Mod]
- }
- end.
- #{
- target_version => "5.6.1+patch.A",
- from_version => "5.6.1",
- code_changes =>
- %% the 'emqx_release' and 'emqx_post_upgrade' will be automatically added,
- %% no need to include them here
- [ {load_module, emqx_broker}
- , {load_module, emqx_metrics}
- , {load_module, emqx_ds_replication_shard_allocator}
- , {update, emqx_ds_replication_layer_egress, {advanced, #{}}}
- ],
- post_upgrade_callbacks =>
- [
- %% emqx_post_upgrade:pr12765_update_stats_timer/1
- pr12765_update_stats_timer,
- %% emqx_post_upgrade:pr20000_ensure_sup_started/3
- {pr20000_ensure_sup_started, ["5.6.1+patch.A", ChildSpec(some_mod)]}
- ]
- }.
|