From b9110c9268bd2af83fff1c55b4bc9a2da11844f3 Mon Sep 17 00:00:00 2001 From: Julia Date: Fri, 3 Mar 2023 13:10:08 -0800 Subject: [PATCH 1/2] Increase reconnect timeout Co-Authored-By: Antonio Scandurra --- crates/call/src/room.rs | 2 +- crates/collab/src/rpc.rs | 2 +- crates/rpc/src/peer.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/call/src/room.rs b/crates/call/src/room.rs index 06680c1dcb86335c2e120df3043fd413d3f26af1..901ae08fc048cf43c98131566855373d38686225 100644 --- a/crates/call/src/room.rs +++ b/crates/call/src/room.rs @@ -20,7 +20,7 @@ use project::Project; use std::{mem, sync::Arc, time::Duration}; use util::{post_inc, ResultExt, TryFutureExt}; -pub const RECONNECT_TIMEOUT: Duration = client::RECEIVE_TIMEOUT; +pub const RECONNECT_TIMEOUT: Duration = Duration::from_secs(30); #[derive(Clone, Debug, PartialEq, Eq)] pub enum Event { diff --git a/crates/collab/src/rpc.rs b/crates/collab/src/rpc.rs index 01d24024eb7516e87e4c0477d069cae8feb42da6..710ddcb890010342c4442e2154c7855e3f978afd 100644 --- a/crates/collab/src/rpc.rs +++ b/crates/collab/src/rpc.rs @@ -57,7 +57,7 @@ use tokio::sync::watch; use tower::ServiceBuilder; use tracing::{info_span, instrument, Instrument}; -pub const RECONNECT_TIMEOUT: Duration = Duration::from_secs(5); +pub const RECONNECT_TIMEOUT: Duration = Duration::from_secs(30); pub const CLEANUP_TIMEOUT: Duration = Duration::from_secs(10); lazy_static! { diff --git a/crates/rpc/src/peer.rs b/crates/rpc/src/peer.rs index 4740120fc4422c018042aa7564625a0ab900e760..0df87fd92d9ab92237ccefe98afe9b457cec9a49 100644 --- a/crates/rpc/src/peer.rs +++ b/crates/rpc/src/peer.rs @@ -114,7 +114,7 @@ pub struct ConnectionState { const KEEPALIVE_INTERVAL: Duration = Duration::from_secs(1); const WRITE_TIMEOUT: Duration = Duration::from_secs(2); -pub const RECEIVE_TIMEOUT: Duration = Duration::from_secs(5); +pub const RECEIVE_TIMEOUT: Duration = Duration::from_secs(10); impl Peer { pub fn new(epoch: u32) -> Arc { From 1e5aff9e5167038b28ebd040a48d3a3c858ac73b Mon Sep 17 00:00:00 2001 From: Julia Date: Tue, 7 Mar 2023 12:23:18 -0500 Subject: [PATCH 2/2] Update collab integration test to new reconnect timeout --- crates/collab/src/tests/integration_tests.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/collab/src/tests/integration_tests.rs b/crates/collab/src/tests/integration_tests.rs index 1ab78ac310b0d23b10f08af62fbe8490f626161b..28266824e388ec4e5d88a26e88b14d918e929af7 100644 --- a/crates/collab/src/tests/integration_tests.rs +++ b/crates/collab/src/tests/integration_tests.rs @@ -829,7 +829,7 @@ async fn test_server_restarts( // Users A and B reconnect to the call. User C has troubles reconnecting, so it leaves the room. client_c.override_establish_connection(|_, cx| cx.spawn(|_| future::pending())); - deterministic.advance_clock(RECEIVE_TIMEOUT); + deterministic.advance_clock(RECONNECT_TIMEOUT); assert_eq!( room_participants(&room_a, cx_a), RoomParticipants { @@ -1001,7 +1001,7 @@ async fn test_server_restarts( client_a.override_establish_connection(|_, cx| cx.spawn(|_| future::pending())); client_b.override_establish_connection(|_, cx| cx.spawn(|_| future::pending())); client_c.override_establish_connection(|_, cx| cx.spawn(|_| future::pending())); - deterministic.advance_clock(RECEIVE_TIMEOUT); + deterministic.advance_clock(RECONNECT_TIMEOUT); assert_eq!( room_participants(&room_a, cx_a), RoomParticipants {