diff --git a/src/lashup_config.erl b/src/lashup_config.erl index 42c55c0..86d838a 100644 --- a/src/lashup_config.erl +++ b/src/lashup_config.erl @@ -51,7 +51,9 @@ ping_log_base/0, gc_timeout/0, aae_route_event_wait/0, - update_contact_nodes/1 + update_contact_nodes/1, + mnesia_sync_log/0, + enable_mnesia_sync_log/1 ]). %% @doc @@ -197,3 +199,12 @@ get_env(Var, Default) -> -spec(update_contact_nodes([node()]) -> ok). update_contact_nodes(Nodes) -> application:set_env(lashup, contact_nodes, Nodes). + +-spec(mnesia_sync_log() -> boolean()). +mnesia_sync_log() -> + get_env(mnesia_sync_log, true). + +-spec(enable_mnesia_sync_log(boolean()) -> ok). +enable_mnesia_sync_log(Value) -> + application:set_env(lashup, mnesia_sync_log, Value). + diff --git a/src/lashup_kv.erl b/src/lashup_kv.erl index b1b7b2b..b71f2bc 100644 --- a/src/lashup_kv.erl +++ b/src/lashup_kv.erl @@ -372,8 +372,13 @@ handle_op(Key, Op, OldVClock, State) -> Fun = mk_write_fun(Key, OldVClock, Op), try mnesia:sync_transaction(Fun) of {atomic, NewKV} -> - ok = mnesia:sync_log(), - dumped = mnesia:dump_log(), + case lashup_config:mnesia_sync_log() of + true -> + ok = mnesia:sync_log(), + dumped = mnesia:dump_log(); + false -> + ok + end, propagate(NewKV), NewValue = riak_dt_map:value(NewKV#kv2.map), State0 = notify_subscribers(Key, State),