From 5751459182b070ccf5cb2d012dcac9209213faaa Mon Sep 17 00:00:00 2001 From: Makram Kamaleddine Date: Tue, 6 May 2025 13:57:54 +0300 Subject: [PATCH 1/2] deployment/ccip/changeset/globals: fix exec ocr params See ticket for details --- deployment/ccip/changeset/globals/ocr3.go | 25 +++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/deployment/ccip/changeset/globals/ocr3.go b/deployment/ccip/changeset/globals/ocr3.go index 0fb4bbf907d..17529fd84bf 100644 --- a/deployment/ccip/changeset/globals/ocr3.go +++ b/deployment/ccip/changeset/globals/ocr3.go @@ -66,15 +66,28 @@ var ( var ( // ExecOCRParams represents the default OCR3 parameters for all chains (beside Ethereum, see ExecOCRParamsForEthereum). ExecOCRParams = types.OCRParameters{ - DeltaProgress: 120 * time.Second, - DeltaResend: 30 * time.Second, - DeltaInitial: 20 * time.Second, - DeltaRound: 2 * time.Second, - DeltaGrace: 5 * time.Second, + // DeltaProgress is the timeout that is triggered if there is no outcome within the given duration + // relative to the previous outcome. + DeltaProgress: 60 * time.Second, + DeltaResend: 30 * time.Second, + // If no message from the leader has been received after the epoch start plus + // DeltaInitial, we enter a new epoch. It shouldn't be too long because it can + // cause delays when a leader is not responsive. + DeltaInitial: 2 * time.Second, + DeltaRound: 2 * time.Second, + // Rounds driven by correct leaders will always take at least DeltaGrace. + // Therefore making it longer than DeltaRound isn't logical. + DeltaGrace: 2 * time.Second, DeltaCertifiedCommitRequest: 10 * time.Second, // TransmissionDelayMultiplier overrides DeltaStage DeltaStage: 25 * time.Second, - Rmax: 3, + // Rmax indicates the maximum number of rounds that are handled by a specific leader + // before a leader change happens. + // Since exec does not rely on the leader to provide information that can influence + // the report, we can set a higher value to reduce the impact of frequent leader changes. + // Frequent leader changes make it more likely to select a leader that is not responsive, + // which can lead to increased latencies. + Rmax: 30, // MaxDurationQuery is set to very low value, because Execution plugin doesn't use Query MaxDurationQuery: 100 * time.Millisecond, MaxDurationObservation: 13 * time.Second, From 1424522e1aebcd761f05b5ce2748c97e9edd090d Mon Sep 17 00:00:00 2001 From: Makram Kamaleddine Date: Fri, 9 May 2025 14:30:26 +0300 Subject: [PATCH 2/2] bring back deltaGrace to 5s --- deployment/ccip/changeset/globals/ocr3.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/deployment/ccip/changeset/globals/ocr3.go b/deployment/ccip/changeset/globals/ocr3.go index 17529fd84bf..fe844145db3 100644 --- a/deployment/ccip/changeset/globals/ocr3.go +++ b/deployment/ccip/changeset/globals/ocr3.go @@ -76,8 +76,9 @@ var ( DeltaInitial: 2 * time.Second, DeltaRound: 2 * time.Second, // Rounds driven by correct leaders will always take at least DeltaGrace. - // Therefore making it longer than DeltaRound isn't logical. - DeltaGrace: 2 * time.Second, + // We set it to 5s to try to boost participation of oracles but reserve the right to lower it + // as CCIP 1.6 stabilizes. + DeltaGrace: 5 * time.Second, DeltaCertifiedCommitRequest: 10 * time.Second, // TransmissionDelayMultiplier overrides DeltaStage DeltaStage: 25 * time.Second,