Skip to content

Commit 36ca3cb

Browse files
committed
Revert "Set timeout for the first request"
This reverts commit 5704fbf.
1 parent 1655fd2 commit 36ca3cb

File tree

2 files changed

+6
-18
lines changed

2 files changed

+6
-18
lines changed

linera-core/src/client/requests_scheduler/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub const CACHE_TTL_MS: u64 = 2000;
2121
pub const CACHE_MAX_SIZE: usize = 1000;
2222
pub const MAX_REQUEST_TTL_MS: u64 = 200;
2323
pub const ALPHA_SMOOTHING_FACTOR: f64 = 0.1;
24-
pub const STAGGERED_DELAY_MS: u64 = 150;
24+
pub const STAGGERED_DELAY_MS: u64 = 75;
2525

2626
/// Configuration for the `RequestsScheduler`.
2727
#[derive(Debug, Clone)]

linera-core/src/client/requests_scheduler/scheduler.rs

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@
44
use std::{cmp::Ordering, collections::BTreeMap, future::Future, sync::Arc};
55

66
use custom_debug_derive::Debug;
7-
use futures::{
8-
stream::{FuturesUnordered, StreamExt},
9-
FutureExt,
10-
};
7+
use futures::stream::{FuturesUnordered, StreamExt};
118
use linera_base::{
129
crypto::ValidatorPublicKey,
1310
data_types::{Blob, BlobContent, BlockHeight},
@@ -666,15 +663,7 @@ impl<Env: Environment> RequestsScheduler<Env> {
666663

667664
// Execute the actual request
668665
tracing::trace!(key = ?key, peer = ?peer, "executing new request");
669-
let result = futures::select! {
670-
_timeout = linera_base::time::timer::sleep(self.retry_delay).fuse() => {
671-
tracing::trace!(key = ?key, "retry delay elapsed, proceeding with request");
672-
Err(NodeError::WorkerError { error: "timeout".to_string() }) // Placeholder error to trigger retries
673-
},
674-
result = operation(peer.clone()).fuse() => {
675-
result
676-
}
677-
};
666+
let result = operation(peer.clone()).await;
678667

679668
// If the first request failed, try alternative peers in staggered parallel
680669
let result = if result.is_err() {
@@ -765,8 +754,7 @@ impl<Env: Environment> RequestsScheduler<Env> {
765754
}
766755

767756
// Wait for first success or collect all failures
768-
// Placeholder for the last error. If we error, this will be updated.
769-
let mut last_error = NodeError::UnexpectedMessage;
757+
let mut last_error = None;
770758

771759
while let Some((peer_idx, result)) = futures.next().await {
772760
match result {
@@ -785,7 +773,7 @@ impl<Env: Environment> RequestsScheduler<Env> {
785773
error = %e,
786774
"staggered parallel retry attempt failed"
787775
);
788-
last_error = e;
776+
last_error = Some(e);
789777
}
790778
}
791779
}
@@ -795,7 +783,7 @@ impl<Env: Environment> RequestsScheduler<Env> {
795783
key = ?key,
796784
"all staggered parallel retry attempts failed"
797785
);
798-
Err(last_error)
786+
Err(last_error.unwrap_or(NodeError::UnexpectedMessage))
799787
}
800788

801789
/// Returns all peers ordered by their score (highest first).

0 commit comments

Comments
 (0)