diff --git a/core/services/llo/delegate.go b/core/services/llo/delegate.go index ba4ddbb8fb0..0c7d539427e 100644 --- a/core/services/llo/delegate.go +++ b/core/services/llo/delegate.go @@ -69,12 +69,12 @@ type DelegateConfig struct { // One Oracle will be started for each ContractConfigTracker ContractConfigTrackers []ocr2types.ContractConfigTracker ContractTransmitter ocr3types.ContractTransmitter[llotypes.ReportInfo] - Database ocr3types.Database OCR3MonitoringEndpoint ocrcommontypes.MonitoringEndpoint OffchainConfigDigester ocr2types.OffchainConfigDigester OffchainKeyring ocr2types.OffchainKeyring OnchainKeyring ocr3types.OnchainKeyring[llotypes.ReportInfo] LocalConfig ocr2types.LocalConfig + NewOCR3DB func(pluginID int32) ocr3types.Database } func NewDelegate(cfg DelegateConfig) (job.ServiceCtx, error) { @@ -146,7 +146,7 @@ func (d *delegate) Start(ctx context.Context) error { V2Bootstrappers: d.cfg.V2Bootstrappers, ContractConfigTracker: configTracker, ContractTransmitter: d.cfg.ContractTransmitter, - Database: d.cfg.Database, + Database: d.cfg.NewOCR3DB(int32(i)), // //nolint:gosec // G115 // impossible due to check on line 119 LocalConfig: d.cfg.LocalConfig, Logger: ocrLogger, MonitoringEndpoint: d.cfg.OCR3MonitoringEndpoint, diff --git a/core/services/ocr2/delegate.go b/core/services/ocr2/delegate.go index edcc816bf04..5e1f0534a91 100644 --- a/core/services/ocr2/delegate.go +++ b/core/services/ocr2/delegate.go @@ -885,7 +885,8 @@ func (d *Delegate) newServicesMercury( lc.ContractConfigTrackerPollInterval = 1 * time.Second // This is the fastest that libocr supports. See: https://github.com/smartcontractkit/offchain-reporting/pull/520 - ocrLogger := ocrcommon.NewOCRWrapper(lggr, d.cfg.OCR2().TraceLogging(), func(ctx context.Context, msg string) { + // Disable OCR debug+info logging for legacy mercury jobs unless tracelogging is enabled, because its simply too verbose (150 jobs => ~50k logs per second) + ocrLogger := ocrcommon.NewOCRWrapper(llo.NewSuppressedLogger(lggr, d.cfg.OCR2().TraceLogging()), d.cfg.OCR2().TraceLogging(), func(ctx context.Context, msg string) { lggr.ErrorIf(d.jobORM.RecordError(ctx, jb.ID, msg), "unable to record error") }) @@ -1055,7 +1056,6 @@ func (d *Delegate) newServicesLLO( V2Bootstrappers: bootstrapPeers, ContractTransmitter: provider.ContractTransmitter(), ContractConfigTrackers: provider.ContractConfigTrackers(), - Database: ocrDB, LocalConfig: lc, OCR3MonitoringEndpoint: d.monitoringEndpointGen.GenMonitoringEndpoint(rid.Network, rid.ChainID, telemetryContractID, synchronization.OCR3Mercury), OffchainConfigDigester: provider.OffchainConfigDigester(), @@ -1064,6 +1064,9 @@ func (d *Delegate) newServicesLLO( // Enable verbose logging if either Mercury.VerboseLogging is on or OCR2.TraceLogging is on ReportingPluginConfig: datastreamsllo.Config{VerboseLogging: d.cfg.Mercury().VerboseLogging() || d.cfg.OCR2().TraceLogging()}, + NewOCR3DB: func(pluginID int32) ocr3types.Database { + return NewDB(d.ds, spec.ID, pluginID, lggr) + }, } oracle, err := llo.NewDelegate(cfg) if err != nil {