diff options
author | Emile Joubert <emile@rabbitmq.com> | 2012-01-20 12:56:18 +0000 |
---|---|---|
committer | Emile Joubert <emile@rabbitmq.com> | 2012-01-20 12:56:18 +0000 |
commit | 15451297e73875dd79fcda706b60de54b322d163 (patch) | |
tree | fce3257806638112b833ccfdb86b6cb5cd25e547 | |
parent | 11a48c32693e81034b45bf52fc6e48c76eb0d0c6 (diff) | |
download | rabbitmq-server-15451297e73875dd79fcda706b60de54b322d163.tar.gz |
Don't fsync after inner nested transactions
-rw-r--r-- | src/rabbit_misc.erl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl index a508794c..a5fef7c3 100644 --- a/src/rabbit_misc.erl +++ b/src/rabbit_misc.erl @@ -419,7 +419,10 @@ execute_mnesia_transaction(TxFun) -> %% elsewhere and get a consistent result even when that read %% executes on a different node. case worker_pool:submit({mnesia, sync_transaction, [TxFun]}) of - {atomic, Result} -> mnesia_sync:sync(), + {atomic, Result} -> case mnesia:is_transaction() of + true -> ok; + false -> mnesia_sync:sync() + end, Result; {aborted, Reason} -> throw({error, Reason}) end. |