From 574746b1904ad981ebba48cfb0fb259f42d7af76 Mon Sep 17 00:00:00 2001 From: Andrew Mayorov Date: Thu, 22 Feb 2024 18:41:10 +0100 Subject: [PATCH] wip: tune egress draining strategy --- .../src/emqx_ds_replication_layer_egress.erl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/emqx_durable_storage/src/emqx_ds_replication_layer_egress.erl b/apps/emqx_durable_storage/src/emqx_ds_replication_layer_egress.erl index c222afdb2..9184a3530 100644 --- a/apps/emqx_durable_storage/src/emqx_ds_replication_layer_egress.erl +++ b/apps/emqx_durable_storage/src/emqx_ds_replication_layer_egress.erl @@ -48,6 +48,7 @@ %% Type declarations %%================================================================================ +-define(ACCUM_TIMEOUT, 4). -define(DRAIN_TIMEOUT, 1). -define(COOLDOWN_TIMEOUT_MIN, 1000). -define(COOLDOWN_TIMEOUT_MAX, 5000). @@ -112,7 +113,7 @@ handle_cast(_Cast, S) -> {noreply, S}. handle_info(Req = {_Pid, _Ref, #message{}}, S) -> - ok = timer:sleep(?DRAIN_TIMEOUT), + ok = timer:sleep(?ACCUM_TIMEOUT), Batch = [Req | drain_requests(1, max_batch_size())], _ = flush(Batch, S), true = erlang:garbage_collect(), @@ -137,7 +138,7 @@ drain_requests(N, M) -> receive Req = {_Pid, _Ref, #message{}} -> [Req | drain_requests(N + 1, M)] - after 0 -> + after ?DRAIN_TIMEOUT -> [N] end.