diff --git a/core/services/ocr2/plugins/ccip/internal/ccipdata/reader.go b/core/services/ocr2/plugins/ccip/internal/ccipdata/reader.go index 64a164c931..d01bf371a4 100644 --- a/core/services/ocr2/plugins/ccip/internal/ccipdata/reader.go +++ b/core/services/ocr2/plugins/ccip/internal/ccipdata/reader.go @@ -22,9 +22,11 @@ const ( const ( // CommitExecLogsRetention defines the duration for which logs critical for Commit/Exec plugins processing are retained. // Although Exec relies on permissionlessExecThreshold which is lower than 24hours for picking eligible CommitRoots, - // Commit still can reach to older logs in case of outage. For instance, in case of RMN curse on chain, - // we might have logs waiting in OnRamp to be committed first. In case of outage taking day days we still would - // be able to bring back processing without replaying any events from chain. + // Commit still can reach to older logs because it filters them by sequence numbers. For instance, in case of RMN curse on chain, + // we might have logs waiting in OnRamp to be committed first. When outage takes days we still would + // be able to bring back processing without replaying any logs from chain. You can read that param as + // "how long CCIP can be down and still be able to process all the messages after getting back to life". + // Breaching this threshold would require replaying chain using LogPoller from the beginning of the outage. CommitExecLogsRetention = 30 * 24 * time.Hour // 30 days // CacheEvictionLogsRetention defines the duration for which logs used for caching on-chain data are kept. // Restarting node clears the cache entirely and rebuilds it from scratch by fetching data from chain,