From 019bf239560925edd809bb7922a49b3737412067 Mon Sep 17 00:00:00 2001
From: Sergei Golovan <sgolovan@nes.ru>
Date: Tue, 16 Feb 2010 16:07:37 +0300
Subject: [PATCH 3/9] Fixed delays in s2s connections.
Patch by Sergei Golovan increases timeouts in S2S and removes horrible 5-minute
delay between remote server connection attempts after a falure (in case of
server is down it would be reasonable, but what happens much more often is a
network split when the delay is inadmissible).
---
src/ejabberd_s2s_in.erl | 2 +-
src/ejabberd_s2s_out.erl | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl
index f221302..b55c805 100644
--- a/src/ejabberd_s2s_in.erl
+++ b/src/ejabberd_s2s_in.erl
@@ -352,7 +352,7 @@ stream_established({xmlstreamelement, El}, StateData) ->
case {ejabberd_s2s:allow_host(To, From),
lists:member(LTo, ejabberd_router:dirty_get_all_domains())} of
{true, true} ->
- ejabberd_s2s_out:terminate_if_waiting_delay(To, From),
+ %%ejabberd_s2s_out:terminate_if_waiting_delay(To, From),
ejabberd_s2s_out:start(To, From,
{verify, self(),
Key, StateData#state.streamid}),
diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl
index ac7eee2..048d018 100644
--- a/src/ejabberd_s2s_out.erl
+++ b/src/ejabberd_s2s_out.erl
@@ -90,7 +90,7 @@
[From, Host, Type])).
-endif.
--define(FSMTIMEOUT, 30000).
+-define(FSMTIMEOUT, 60000).
%% We do not block on send anymore.
-define(TCP_SEND_TIMEOUT, 15000).
@@ -226,8 +226,8 @@ open_socket(init, StateData) ->
{error, _Reason} ->
?INFO_MSG("s2s connection: ~s -> ~s (remote server not found)",
[StateData#state.myname, StateData#state.server]),
- wait_before_reconnect(StateData)
- %%{stop, normal, StateData}
+ %%wait_before_reconnect(StateData)
+ {stop, normal, StateData}
end;
open_socket(stop, StateData) ->
?INFO_MSG("s2s connection: ~s -> ~s (stopped in open socket)",
--
1.6.6.1