From 7808ffe600818cca3a98640fc12bf4b7c04026b2 Mon Sep 17 00:00:00 2001 From: Tobias Lindahl Date: Thu, 7 Oct 2021 13:37:11 +0200 Subject: [PATCH] fix(persistent_sessions): protect (un)subscribe from calling session router --- apps/emqx/src/emqx_persistent_session.erl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/emqx/src/emqx_persistent_session.erl b/apps/emqx/src/emqx_persistent_session.erl index 4774dcd01..e88ed0ab1 100644 --- a/apps/emqx/src/emqx_persistent_session.erl +++ b/apps/emqx/src/emqx_persistent_session.erl @@ -220,12 +220,18 @@ mark_resume_begin(SessionID) -> MarkerID. add_subscription(TopicFilter, SessionID, true = _IsPersistent) -> - emqx_session_router:do_add_route(TopicFilter, SessionID); + case is_store_enabled() of + true -> emqx_session_router:do_add_route(TopicFilter, SessionID); + false -> ok + end; add_subscription(_TopicFilter, _SessionID, false = _IsPersistent) -> ok. remove_subscription(TopicFilter, SessionID, true = _IsPersistent) -> - emqx_session_router:do_delete_route(TopicFilter, SessionID); + case is_store_enabled() of + true -> emqx_session_router:do_delete_route(TopicFilter, SessionID); + false -> ok + end; remove_subscription(_TopicFilter, _SessionID, false = _IsPersistent) -> ok.