fix(sessds): drop everything related to session on CleanStart

This commit is contained in:
Andrew Mayorov 2023-12-01 19:35:05 +03:00
parent ee9a98f0a4
commit 47bc747323
No known key found for this signature in database
GPG Key ID: 2837C62ACFBFED5D
1 changed files with 9 additions and 5 deletions

View File

@ -646,7 +646,7 @@ session_open(SessionId, NewConnInfo) ->
session().
session_ensure_new(SessionId, ConnInfo) ->
transaction(fun() ->
ok = session_drop_subscriptions(SessionId),
ok = session_drop_records(SessionId),
Session = export_session(session_create(SessionId, ConnInfo)),
Session#{
subscriptions => subs_new(),
@ -693,13 +693,17 @@ session_set_last_alive_at(SessionRecord0, LastAliveAt) ->
-spec session_drop(id()) -> ok.
session_drop(DSSessionId) ->
transaction(fun() ->
ok = session_drop_subscriptions(DSSessionId),
ok = session_drop_pubranges(DSSessionId),
ok = session_drop_offsets(DSSessionId),
ok = session_drop_streams(DSSessionId),
ok = session_drop_records(DSSessionId),
ok = mnesia:delete(?SESSION_TAB, DSSessionId, write)
end).
-spec session_drop_records(id()) -> ok.
session_drop_records(DSSessionId) ->
ok = session_drop_subscriptions(DSSessionId),
ok = session_drop_pubranges(DSSessionId),
ok = session_drop_offsets(DSSessionId),
ok = session_drop_streams(DSSessionId).
-spec session_drop_subscriptions(id()) -> ok.
session_drop_subscriptions(DSSessionId) ->
Subscriptions = session_read_subscriptions(DSSessionId, write),