Selaa lähdekoodia

fix(sessds): Use mria:async_dirty instead of transaction

ieQu1 2 vuotta sitten
vanhempi
commit
ebe2339810
1 muutettua tiedostoa jossa 15 lisäystä ja 9 poistoa
  1. 15 9
      apps/emqx/src/emqx_persistent_session_ds_state.erl

+ 15 - 9
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}).