raise various timeouts, make exp backoff consistent
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
8c04dffbbd
commit
d56e76c23e
7 changed files with 14 additions and 13 deletions
|
@ -44,7 +44,7 @@ where
|
||||||
|
|
||||||
let mut reqwest_request = reqwest::Request::try_from(http_request)?;
|
let mut reqwest_request = reqwest::Request::try_from(http_request)?;
|
||||||
|
|
||||||
*reqwest_request.timeout_mut() = Some(Duration::from_secs(30));
|
*reqwest_request.timeout_mut() = Some(Duration::from_secs(120));
|
||||||
|
|
||||||
let url = reqwest_request.url().clone();
|
let url = reqwest_request.url().clone();
|
||||||
let mut response = match services()
|
let mut response = match services()
|
||||||
|
|
|
@ -370,7 +370,7 @@ pub(crate) async fn get_keys_helper<F: Fn(&UserId) -> bool>(
|
||||||
.get(server)
|
.get(server)
|
||||||
{
|
{
|
||||||
// Exponential backoff
|
// Exponential backoff
|
||||||
let mut min_elapsed_duration = Duration::from_secs(30) * (*tries) * (*tries);
|
let mut min_elapsed_duration = Duration::from_secs(5 * 60) * (*tries) * (*tries);
|
||||||
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
||||||
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
||||||
}
|
}
|
||||||
|
@ -391,7 +391,7 @@ pub(crate) async fn get_keys_helper<F: Fn(&UserId) -> bool>(
|
||||||
(
|
(
|
||||||
server,
|
server,
|
||||||
tokio::time::timeout(
|
tokio::time::timeout(
|
||||||
Duration::from_secs(25),
|
Duration::from_secs(50),
|
||||||
services().sending.send_federation_request(
|
services().sending.send_federation_request(
|
||||||
server,
|
server,
|
||||||
federation::keys::get_keys::v1::Request {
|
federation::keys::get_keys::v1::Request {
|
||||||
|
|
|
@ -1163,7 +1163,7 @@ fn validate_and_add_event_id(
|
||||||
.get(&event_id)
|
.get(&event_id)
|
||||||
{
|
{
|
||||||
// Exponential backoff
|
// Exponential backoff
|
||||||
let mut min_elapsed_duration = Duration::from_secs(30) * (*tries) * (*tries);
|
let mut min_elapsed_duration = Duration::from_secs(5 * 60) * (*tries) * (*tries);
|
||||||
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
||||||
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
||||||
}
|
}
|
||||||
|
|
|
@ -545,7 +545,7 @@ async fn shutdown_signal(handle: ServerHandle, tx: Sender<()>) -> Result<()> {
|
||||||
}
|
}
|
||||||
|
|
||||||
warn!("Received {}, shutting down...", sig);
|
warn!("Received {}, shutting down...", sig);
|
||||||
handle.graceful_shutdown(Some(Duration::from_secs(30)));
|
handle.graceful_shutdown(Some(Duration::from_secs(60)));
|
||||||
|
|
||||||
services().globals.shutdown();
|
services().globals.shutdown();
|
||||||
|
|
||||||
|
|
|
@ -537,8 +537,8 @@ impl Service<'_> {
|
||||||
fn reqwest_client_builder(config: &Config) -> Result<reqwest::ClientBuilder> {
|
fn reqwest_client_builder(config: &Config) -> Result<reqwest::ClientBuilder> {
|
||||||
let mut reqwest_client_builder = reqwest::Client::builder()
|
let mut reqwest_client_builder = reqwest::Client::builder()
|
||||||
.pool_max_idle_per_host(0)
|
.pool_max_idle_per_host(0)
|
||||||
.connect_timeout(Duration::from_secs(30))
|
.connect_timeout(Duration::from_secs(60))
|
||||||
.timeout(Duration::from_secs(60 * 3));
|
.timeout(Duration::from_secs(60 * 4));
|
||||||
|
|
||||||
if let Some(proxy) = config.proxy.to_proxy()? {
|
if let Some(proxy) = config.proxy.to_proxy()? {
|
||||||
reqwest_client_builder = reqwest_client_builder.proxy(proxy);
|
reqwest_client_builder = reqwest_client_builder.proxy(proxy);
|
||||||
|
|
|
@ -1461,7 +1461,7 @@ impl Service {
|
||||||
.get(event_id)
|
.get(event_id)
|
||||||
{
|
{
|
||||||
// Exponential backoff
|
// Exponential backoff
|
||||||
let mut min_elapsed_duration = Duration::from_secs(30) * (*tries) * (*tries);
|
let mut min_elapsed_duration = Duration::from_secs(5 * 60) * (*tries) * (*tries);
|
||||||
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
||||||
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
||||||
}
|
}
|
||||||
|
@ -1748,7 +1748,7 @@ impl Service {
|
||||||
.get(&signature_ids)
|
.get(&signature_ids)
|
||||||
{
|
{
|
||||||
// Exponential backoff
|
// Exponential backoff
|
||||||
let mut min_elapsed_duration = Duration::from_secs(30) * (*tries) * (*tries);
|
let mut min_elapsed_duration = Duration::from_secs(5 * 60) * (*tries) * (*tries);
|
||||||
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
||||||
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
||||||
}
|
}
|
||||||
|
|
|
@ -219,7 +219,8 @@ impl Service {
|
||||||
}
|
}
|
||||||
TransactionStatus::Failed(tries, time) => {
|
TransactionStatus::Failed(tries, time) => {
|
||||||
// Fail if a request has failed recently (exponential backoff)
|
// Fail if a request has failed recently (exponential backoff)
|
||||||
let mut min_elapsed_duration = Duration::from_secs(30) * (*tries) * (*tries);
|
let mut min_elapsed_duration =
|
||||||
|
Duration::from_secs(5 * 60) * (*tries) * (*tries);
|
||||||
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
if min_elapsed_duration > Duration::from_secs(60 * 60 * 24) {
|
||||||
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
min_elapsed_duration = Duration::from_secs(60 * 60 * 24);
|
||||||
}
|
}
|
||||||
|
@ -719,13 +720,13 @@ impl Service {
|
||||||
let permit = self.maximum_requests.acquire().await;
|
let permit = self.maximum_requests.acquire().await;
|
||||||
debug!("Got permit");
|
debug!("Got permit");
|
||||||
let response = tokio::time::timeout(
|
let response = tokio::time::timeout(
|
||||||
Duration::from_secs(2 * 60),
|
Duration::from_secs(5 * 60),
|
||||||
server_server::send_request(destination, request),
|
server_server::send_request(destination, request),
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
.map_err(|_| {
|
.map_err(|_| {
|
||||||
warn!("Timeout waiting for server response of {destination}");
|
warn!("Timeout after 300 seconds waiting for server response of {destination}");
|
||||||
Error::BadServerResponse("Timeout waiting for server response")
|
Error::BadServerResponse("Timeout after 300 seconds waiting for server response")
|
||||||
})?;
|
})?;
|
||||||
drop(permit);
|
drop(permit);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue