feat: Lower default backoff base for a gentler backoff curve

This commit is contained in:
timedout authored and Ellis Git committed 2026-08-20 00:57:11 +00:00
1 parent b73b3532f2
commit 9af60bcf62
2 files changed
+23 -18

No files matched your search

+21 -16
View File
@@ -423,22 +423,27 @@ impl Service {
if let Some(retry_after) = self.services.federation.retry_after(server_name) {
allow = retry_after.is_zero();
}
statuses.entry(dest.clone()).and_modify(|e| match e {
| TransactionStatus::Running | TransactionStatus::Retrying(_) => {
allow = false; // already running
trace!("Transaction is already running for {dest:?}");
},
| TransactionStatus::Failed(tries, _) => {
if allow {
*e = TransactionStatus::Retrying(*tries);
trace!("Previous transaction failed for {dest:?} ({e:?}), will retry");
}
retry = true;
},
}).or_insert_with(|| {
trace!("Inserting running status for {dest:?}");
TransactionStatus::Running
});
statuses
.entry(dest.clone())
.and_modify(|e| match e {
| TransactionStatus::Running | TransactionStatus::Retrying(_) => {
allow = false; // already running
trace!("Transaction is already running for {dest:?}");
},
| TransactionStatus::Failed(tries, _) => {
if allow {
*e = TransactionStatus::Retrying(*tries);
trace!(
"Previous transaction failed for {dest:?} ({e:?}), will retry"
);
}
retry = true;
},
})
.or_insert_with(|| {
trace!("Inserting running status for {dest:?}");
TransactionStatus::Running
});
return Ok((allow, retry));
}
statuses