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(),

Reply via email to