diff --git a/iris-mpc/src/bin/server.rs b/iris-mpc/src/bin/server.rs index 2ba9c657c..95d97f03d 100644 --- a/iris-mpc/src/bin/server.rs +++ b/iris-mpc/src/bin/server.rs @@ -1,7 +1,10 @@ #![allow(clippy::needless_range_loop)] use aws_config::retry::RetryConfig; -use aws_sdk_s3::{config::Builder as S3ConfigBuilder, Client as S3Client}; +use aws_sdk_s3::{ + config::{Builder as S3ConfigBuilder, StalledStreamProtectionConfig}, + Client as S3Client, +}; use aws_sdk_sns::{types::MessageAttributeValue, Client as SNSClient}; use aws_sdk_sqs::{config::Region, Client}; use axum::{response::IntoResponse, routing::get, Router}; @@ -688,7 +691,13 @@ async fn server_main(config: Config) -> eyre::Result<()> { // Increase S3 retries to 5 let retry_config = RetryConfig::standard().with_max_attempts(5); + + // Bump stalled stream protection grace period to 30 seconds + let mut stream_protection = StalledStreamProtectionConfig::enabled(); + stream_protection.set_grace_period(Some(Duration::from_secs(30))); + let s3_config = S3ConfigBuilder::from(&shared_config) + .stalled_stream_protection(stream_protection.build()) .retry_config(retry_config) .build(); let s3_client = Arc::new(S3Client::from_conf(s3_config));