This is an automated email from the ASF dual-hosted git repository. rnewson pushed a commit to branch ra in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit c69ecb771197ff57a4657cb05897b9cf928d953a Author: Robert Newson <[email protected]> AuthorDate: Tue Jan 21 17:37:38 2025 +0000 mem_sync toggle --- src/mem3/src/mem3_sync_event_listener.erl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mem3/src/mem3_sync_event_listener.erl b/src/mem3/src/mem3_sync_event_listener.erl index eb3cb7940..84c6475fc 100644 --- a/src/mem3/src/mem3_sync_event_listener.erl +++ b/src/mem3/src/mem3_sync_event_listener.erl @@ -40,7 +40,8 @@ delay, frequency, last_push, - buckets + buckets, + enabled }). %% Calling mem3_sync:push/2 on every update has a measurable performance cost, @@ -63,19 +64,23 @@ init(_) -> Delay = config:get_integer("mem3", "sync_delay", 5000), Frequency = config:get_integer("mem3", "sync_frequency", 500), Buckets = lists:duplicate(Delay div Frequency + 1, sets:new([{version, 2}])), + Enabled = config:get_boolean("mem3", "sync_enabled", true), St = #state{ nodes = mem3_sync:nodes_db(), shards = mem3_sync:shards_db(), users = mem3_sync:users_db(), delay = Delay, frequency = Frequency, - buckets = Buckets + buckets = Buckets, + enabled = Enabled }, {ok, St}. terminate(_Reason, _State) -> ok. +handle_event(_Db, _Msg, #state{enabled = false} = St) -> + {ok, St}; handle_event(NodesDb, updated, #state{nodes = NodesDb} = St) -> Nodes = mem3:nodes(), Live = nodes(),
