on master help sign in
Remove dead field ForwardFailure.firstFailedAt
commit45fc9a88ad65022aa20bd37e9efc4d02d5aa1b98 authoriko <mail@iko.soy> dateSun 10 May 2026, 20:54 (5 months ago) parent52ab141
1 file changed+4−5
server.knot+4−5
server.knot+4−5
@@ -216,7 +216,7 @@ type PresenceEntry = {pubkey: PubkeyHex, server: ServerName, expiresAt: Timestam
216216-- Identity is derived from `encryptedBlob` (see `Message`).
217217type ForwardEntry = {toServer: ServerName, toKey: PubkeyHex, encryptedBlob: BlobHex, retries: Int}
218218-- Running failure counter for a peer; keyed by `server`. Drives `shouldRetryServer`.
219−type ForwardFailure = {server: Text, failedAt: Timestamp, failures: Int, firstFailedAt: Timestamp}
219+type ForwardFailure = {server: Text, failedAt: Timestamp, failures: Int}
220220
221221-- ============================================
222222-- Persisted State (all flat lists, no sharding)
@@ -414,16 +414,15 @@ authedPubkey = \authorization t clientIp -> do
414414shouldRetryServer : Text -> Timestamp -> [ForwardFailure] -> Bool
415415shouldRetryServer = \server t failures -> not any (\f -> f.server == server && t - f.failedAt < min retryBackoffMax (retryBackoffBase * max 1 f.failures)) failures
416416
417−-- Bump the failure counter for `server`. Preserves `firstFailedAt` across
418−-- subsequent failures.
417+-- Bump the failure counter for `server`.
419418recordFailure : Text -> IO {rw *forwardFailures, clock} {}
420419recordFailure = \server -> do
421420 t <- now
422421 atomic (do
423422 failures <- *forwardFailures
424423 let new = case findFirst failures (\f -> f.server == server) of
425− Just {value: f} -> {server, failedAt: t, failures: f.failures + 1, f.firstFailedAt}
426− _ -> {server, failedAt: t, failures: 1, firstFailedAt: t}
424+ Just {value: f} -> {server, failedAt: t, failures: f.failures + 1}
425+ _ -> {server, failedAt: t, failures: 1}
427426 *forwardFailures = union (filter (\f -> f.server != server) failures) [new])
428427
429428-- Drop the failure record for `server` (called after any successful peer call).