From efafd37ca965a02c178b34b3db8c854a04b7d798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=9F=D1=80=D0=BE?= =?UTF-8?q?=D1=85=D0=BE=D1=80=D0=BE=D0=B2?= Date: Fri, 8 Mar 2019 00:27:21 +0100 Subject: [PATCH] Tune socket receive buffer sizes to fix false positive backpressure --- test/mtp_test_client.erl | 1 + test/single_dc_SUITE.erl | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/test/mtp_test_client.erl b/test/mtp_test_client.erl index 00bd9fc..5563198 100644 --- a/test/mtp_test_client.erl +++ b/test/mtp_test_client.erl @@ -19,6 +19,7 @@ connect(Host, Port, Secret, DcId, Protocol) -> Opts = [{packet, raw}, {mode, binary}, {active, false}, + {buffer, 1024}, {send_timeout, 5000}], {ok, Sock} = gen_tcp:connect(Host, Port, Opts, 1000), {Header, _, _, CryptoLayer} = mtp_obfuscated:client_create(Secret, Protocol, DcId), diff --git a/test/single_dc_SUITE.erl b/test/single_dc_SUITE.erl index 580779b..b8ac75e 100644 --- a/test/single_dc_SUITE.erl +++ b/test/single_dc_SUITE.erl @@ -169,6 +169,10 @@ downstream_size_backpressure_case(Cfg) when is_list(Cfg) -> %% @doc test downstream backpressure when count of non-acknowledged packets grows above threshold downstream_qlen_backpressure_case({pre, Cfg}) -> + application:load(mtproto_proxy), + %% Reducing downstream socket buffer size. Otherwise we can get queue overflow from just single + %% socket data packet + application:set_env(mtproto_proxy, downstream_socket_buffer_size, 1024), Cfg1 = setup_single(?FUNCTION_NAME, ?LINE, #{rpc_handler => mtp_test_cmd_rpc}, Cfg), %% Disable upstream healthchecks application:set_env(?APP, upstream_healthchecks, []),