chore: improve the open_session procedure

This commit is contained in:
Shawn 2023-05-16 13:50:50 +08:00
parent c3164aa917
commit 6933839858
3 changed files with 103 additions and 40 deletions

View File

@ -2,20 +2,29 @@
%% Unless you know what you are doing, DO NOT edit manually!!
{VSN,
[{"4.4.18",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.17",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]}]},
{"4.4.16",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
@ -25,7 +34,10 @@
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.15",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
@ -37,7 +49,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.14",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
@ -56,7 +69,8 @@
{load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}]},
{"4.4.13",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
@ -76,7 +90,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.12",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
@ -96,7 +111,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.11",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
@ -118,7 +134,8 @@
{load_module,emqx_session,brutal_purge,soft_purge,[]},
{load_module,emqx_channel,brutal_purge,soft_purge,[]}]},
{"4.4.10",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -148,7 +165,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.9",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -183,7 +201,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.8",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -219,7 +238,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.7",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -255,7 +275,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.6",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -291,7 +312,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.5",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -329,7 +351,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.4",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -373,7 +396,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.3",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -423,7 +447,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.2",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -474,7 +499,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.1",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -529,7 +555,8 @@
{apply,{application,set_env,
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{"4.4.0",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{add_module,emqx_const_v2},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -587,18 +614,27 @@
[gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{<<".*">>,[]}],
[{"4.4.18",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.17",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]}]},
{"4.4.16",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
@ -607,7 +643,10 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.15",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
@ -618,7 +657,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.14",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
@ -636,7 +676,8 @@
{load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}]},
{"4.4.13",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
@ -655,7 +696,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.12",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
@ -674,7 +716,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.11",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
@ -695,7 +738,8 @@
{load_module,emqx_session,brutal_purge,soft_purge,[]},
{delete_module,emqx_cover}]},
{"4.4.10",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -721,7 +765,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.9",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -751,7 +796,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.8",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -782,7 +828,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.7",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -813,7 +860,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.6",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -844,7 +892,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.5",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -877,7 +926,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.4",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -916,7 +966,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.3",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -960,7 +1011,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.2",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -1005,7 +1057,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.1",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
@ -1054,7 +1107,8 @@
{delete_module,emqx_crl_cache},
{delete_module,emqx_ocsp_cache}]},
{"4.4.0",
[{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
[{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},

View File

@ -142,11 +142,14 @@ insert_channel_info(ClientId, Info, Stats) ->
%% Note that: It should be called on a lock transaction
register_channel(ClientId, ChanPid, #{conn_mod := ConnMod}) when is_pid(ChanPid) ->
Chan = {ClientId, ChanPid},
%% Note that cast/1 should be called before ets:insert/2 to reduce the possibility
%% of leakage in ETS tables due to the process dies before being monitored.
cast({registered, Chan}),
true = ets:insert(?CHAN_TAB, Chan),
true = ets:insert(?CHAN_CONN_TAB, {Chan, ConnMod}),
ok = emqx_cm_registry:register_channel(Chan),
mark_channel_connected(ChanPid),
cast({registered, Chan}).
ok.
%% @doc Unregister a channel.
-spec(unregister_channel(emqx_types:clientid()) -> ok).
@ -380,6 +383,8 @@ force_kill(Pid) ->
exit(Pid, kill),
ok.
stale_channel_info(Pid) when node(Pid) =/= node() ->
non_local_proc_info;
stale_channel_info(Pid) ->
process_info(Pid, [status, message_queue_len, current_stacktrace]).

View File

@ -33,9 +33,13 @@
-export([strategy/0]).
-endif.
%% The takeover timeout (T_TAKEOVER) in emqx_cm is 15s, we should use a sufficent expiration
%% time to avoid being killed by the ekka_locker before completing the entire takeover task.
-define(EXPIRY_TIMEOUT, 60_000).
-spec(start_link() -> startlink_ret()).
start_link() ->
ekka_locker:start_link(?MODULE).
ekka_locker:start_link(?MODULE, ?EXPIRY_TIMEOUT).
-spec(trans(emqx_types:clientid(), fun(([node()]) -> any())) -> any()).
trans(ClientId, Fun) ->