From 3945f08f8f79c7343a5c479f89070e9c84081c23 Mon Sep 17 00:00:00 2001 From: Andrew Mayorov Date: Wed, 20 Sep 2023 12:56:30 +0400 Subject: [PATCH] fix(sessds): try to ensure iterators are closed on destroy --- apps/emqx/src/emqx_persistent_session_ds.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/emqx/src/emqx_persistent_session_ds.erl b/apps/emqx/src/emqx_persistent_session_ds.erl index 1e35c12fe..35e0677c2 100644 --- a/apps/emqx/src/emqx_persistent_session_ds.erl +++ b/apps/emqx/src/emqx_persistent_session_ds.erl @@ -132,8 +132,12 @@ open_session(ClientID, Conf) -> -spec destroy(session() | clientinfo()) -> ok. destroy(#{id := ClientID}) -> - emqx_ds:session_drop(ClientID); + destroy_session(ClientID); destroy(#{clientid := ClientID}) -> + destroy_session(ClientID). + +destroy_session(ClientID) -> + _ = ensure_all_iterators_closed(ClientID), emqx_ds:session_drop(ClientID). %%--------------------------------------------------------------------