summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Fedotov <hairyhum@gmail.com>2019-04-01 16:23:57 -0400
committerLuke Bakken <lbakken@pivotal.io>2019-05-01 13:16:21 -0700
commit174ac2feb381a50b01aedbbe2bd7e684e1936432 (patch)
treea9948f0efdfadaff4f10f97360af86d756fec0f7
parentf17304a130f2f9f8a844102f776bf10802d68dad (diff)
downloadrabbitmq-server-git-174ac2feb381a50b01aedbbe2bd7e684e1936432.tar.gz
Use mnevis transaction options to ensure local node may do dirty reads after transactions.
RabbitMQ relies on data being readable with dirty_read after creating entries.
-rw-r--r--src/gm.erl2
-rw-r--r--src/rabbit_amqqueue.erl2
-rw-r--r--src/rabbit_connection_tracking.erl2
-rw-r--r--src/rabbit_mnesia_rename.erl2
-rw-r--r--src/rabbit_upgrade_functions.erl2
-rw-r--r--test/mirrored_supervisor_SUITE.erl2
6 files changed, 6 insertions, 6 deletions
diff --git a/src/gm.erl b/src/gm.erl
index be294a3478..007f5db944 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -535,7 +535,7 @@ validate_members(Server, Members) ->
-spec forget_group(group_name()) -> 'ok'.
forget_group(GroupName) ->
- {atomic, ok} = mnevis:transaction(
+ {atomic, ok} = rabbit_misc:mnevis_transaction(
fun () ->
mnesia:delete({?GROUP_TABLE, GroupName})
end),
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 0ae43c2b79..e91b45ebfd 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -1509,7 +1509,7 @@ forget_all_durable(Node) ->
%% Note rabbit is not running so we avoid e.g. the worker pool. Also why
%% we don't invoke the return from rabbit_binding:process_deletions/1.
{atomic, ok} =
- mnevis:transaction(
+ rabbit_misc:mnevis_transaction(
fun () ->
Qs = mnesia:match_object(rabbit_durable_queue,
amqqueue:pattern_match_all(), write),
diff --git a/src/rabbit_connection_tracking.erl b/src/rabbit_connection_tracking.erl
index 414a8fc754..de4201cb98 100644
--- a/src/rabbit_connection_tracking.erl
+++ b/src/rabbit_connection_tracking.erl
@@ -344,7 +344,7 @@ count_connections_in(VirtualHost) ->
lists:foldl(fun (Node, Acc) ->
Tab = tracked_connection_per_vhost_table_name_for(Node),
try
- N = case mnevis:transaction(
+ N = case rabbit_misc:mnevis_transaction(
fun() ->
case mnesia:dirty_read({Tab, VirtualHost}) of
[] -> 0;
diff --git a/src/rabbit_mnesia_rename.erl b/src/rabbit_mnesia_rename.erl
index 8a11debfd5..8956c51753 100644
--- a/src/rabbit_mnesia_rename.erl
+++ b/src/rabbit_mnesia_rename.erl
@@ -254,7 +254,7 @@ rename_in_running_mnesia(FromNode, ToNode) ->
ok.
transform_table(Table, Map) ->
- mnevis:transaction(
+ rabbit_misc:mnevis_transaction(
fun () ->
mnesia:lock({table, Table}, write),
transform_table(Table, Map, mnesia:first(Table))
diff --git a/src/rabbit_upgrade_functions.erl b/src/rabbit_upgrade_functions.erl
index b989cf0d73..d2c9f50059 100644
--- a/src/rabbit_upgrade_functions.erl
+++ b/src/rabbit_upgrade_functions.erl
@@ -418,7 +418,7 @@ internal_system_x() ->
-spec cluster_name() -> 'ok'.
cluster_name() ->
- {atomic, ok} = mnevis:transaction(fun cluster_name_tx/0),
+ {atomic, ok} = rabbit_misc:mnevis_transaction(fun cluster_name_tx/0),
ok.
cluster_name_tx() ->
diff --git a/test/mirrored_supervisor_SUITE.erl b/test/mirrored_supervisor_SUITE.erl
index 560bbd61c6..f6893ea421 100644
--- a/test/mirrored_supervisor_SUITE.erl
+++ b/test/mirrored_supervisor_SUITE.erl
@@ -277,7 +277,7 @@ pid_of(Id) ->
Pid.
tx_fun(Fun) ->
- case mnevis:transaction(Fun) of
+ case rabbit_misc:mnevis_transaction(Fun) of
{atomic, Result} -> Result;
{aborted, Reason} -> throw({error, Reason})
end.