From ebe2339810dbd55b7b65a0e34bc2481de5adc8ee Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Sat, 13 Jan 2024 05:07:16 +0100 Subject: [PATCH] fix(sessds): Use mria:async_dirty instead of transaction --- .../src/emqx_persistent_session_ds_state.erl | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/apps/emqx/src/emqx_persistent_session_ds_state.erl b/apps/emqx/src/emqx_persistent_session_ds_state.erl index 57f2316b7..a4b349c9e 100644 --- a/apps/emqx/src/emqx_persistent_session_ds_state.erl +++ b/apps/emqx/src/emqx_persistent_session_ds_state.erl @@ -550,17 +550,23 @@ kv_pmap_delete(Table, SessionId, Key) -> %% transaction(Fun) -> - case mnesia:is_transaction() of - true -> - Fun(); - false -> - {atomic, Res} = mria:transaction(?DS_MRIA_SHARD, Fun), - Res - end. + mria:async_dirty(?DS_MRIA_SHARD, Fun). ro_transaction(Fun) -> - {atomic, Res} = mria:ro_transaction(?DS_MRIA_SHARD, Fun), - Res. + mria:async_dirty(?DS_MRIA_SHARD, Fun). + +%% transaction(Fun) -> +%% case mnesia:is_transaction() of +%% true -> +%% Fun(); +%% false -> +%% {atomic, Res} = mria:transaction(?DS_MRIA_SHARD, Fun), +%% Res +%% end. + +%% ro_transaction(Fun) -> +%% {atomic, Res} = mria:ro_transaction(?DS_MRIA_SHARD, Fun), +%% Res. -compile({inline, check_sequence/1}).