Skip to content

core/config: add LOOPP.GRPCServerMaxRecvMsgSize#21029

Draft
jmank88 wants to merge 1 commit intodevelopfrom
CAPPL-1184-grpc-max-msrg-recv
Draft

core/config: add LOOPP.GRPCServerMaxRecvMsgSize#21029
jmank88 wants to merge 1 commit intodevelopfrom
CAPPL-1184-grpc-max-msrg-recv

Conversation

@jmank88
Copy link
Contributor

@jmank88 jmank88 commented Feb 4, 2026

[LOOPP]
# GRPCServerMaxRecvMsgSize is the maximum received message size configured for grpc servers.
# We use a higher limit than the grpc default of 4mb.
GRPCServerMaxRecvMsgSize = '8mb' # Default
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a LOOPP section is worthwhile. We have some other things we may want to configure, like the GOMEMLIMIT.

We can also add a map of overrides here for GRPCServerMaxRecvMsgSize, if we want to customize per type of LOOPP.

@jmank88 jmank88 force-pushed the CAPPL-1184-grpc-max-msrg-recv branch from 1be3bd4 to 1d6ffce Compare February 4, 2026 22:16
@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

I see you updated files related to core. Please run pnpm changeset in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

trunk-io[bot]

This comment was marked as outdated.

trunk-io[bot]

This comment was marked as outdated.

trunk-io[bot]

This comment was marked as outdated.

trunk-io[bot]

This comment was marked as outdated.

trunk-io[bot]

This comment was marked as outdated.

@trunk-io
Copy link

trunk-io bot commented Feb 5, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

Failed Test Failure Summary Logs
TestRendererTable_RenderExternalInitiatorAuthentication The test 'TestRendererTable_RenderExternalInitiatorAuthentication' failed during execution. Logs ↗︎
TestRendererTable_RenderExternalInitiatorAuthentication The test 'TestRendererTable_RenderExternalInitiatorAuthentication' failed during execution. Logs ↗︎
TestScripts/node/validate The test for node validation failed to complete successfully. Logs ↗︎
TestScripts/node/validate The test script 'TestScripts/node/validate' failed during execution. Logs ↗︎

... and 221 more

View Full Report ↗︎Docs

docs/CONFIG.md Outdated
## LOOPP
```toml
[LOOPP]
GRPCServerMaxRecvMsgSize = '8mb' # Default
Copy link
Collaborator

@ettec ettec Feb 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any objection to making this higher (32mb), as its local comms always in the loopp case it's probably reasonable to go meaningful higher than the default which assumably is set with cross network traffic in mind. It's a bit arbitrary but it will guarantee plenty headroom for the consensus, 8 would be low in production where we have 10 nodes and possible up to 1mb attributable observations (so ~ 10mb total size)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine with me 🤷

@jmank88 jmank88 force-pushed the CAPPL-1184-grpc-max-msrg-recv branch 2 times, most recently from 3ad58ec to a09a72d Compare February 5, 2026 13:22
Comment on lines -453 to -463
// LOOPs can be created as options, in the case of LOOP relayers, or
// as OCR2 job implementations, in the case of Median today.
// We will have a non-nil registry here in LOOP relayers are being used, otherwise
// we need to initialize in case we serve OCR2 LOOPs
if loopRegistry == nil {
loopRegistry = plugins.NewLoopRegistry(globalLogger, opts.Config.AppID().String(), opts.Config.Feature().LogPoller(), opts.Config.Database(), opts.Config.Mercury(), opts.Config.Tracing(), opts.Config.Telemetry(), beholderAuthHeaders, csaPubKeyHex)
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The LoopRegistry is no longer read from opts optionally. It is always constructed before this point.

AppID: m.appID,
FeatureLogPoller: m.featureLogPoller,
PrometheusPort: ports[0],
GRPCServerMaxRecvMsgSize: m.cfgLOOPP.GRPCServerMaxRecvMsgSizeBytes(),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose this is a naming irregularity (no LOOPP prefix), but it would seem redundant to include 🤔

@jmank88 jmank88 force-pushed the CAPPL-1184-grpc-max-msrg-recv branch from a09a72d to 10afbe6 Compare February 5, 2026 13:27
trunk-io[bot]

This comment was marked as outdated.

trunk-io[bot]

This comment was marked as outdated.

trunk-io[bot]

This comment was marked as outdated.

trunk-io[bot]

This comment was marked as outdated.

@jmank88 jmank88 force-pushed the CAPPL-1184-grpc-max-msrg-recv branch from 10afbe6 to 14f2d3a Compare February 5, 2026 21:07
@cl-sonarqube-production
Copy link

Quality Gate failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube

Catch issues before they fail your Quality Gate with our IDE extension SonarQube IDE SonarQube IDE

Copy link

@trunk-io trunk-io bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Test Results: Unrelated Failure

Affected failures:

  1. Workflow Run: Integration Tests

What Broke

The integration tests failed because the newly introduced LOOPP configuration was not properly initialized or mocked when constructing the LoopRegistry, leading to a runtime error. The PR introduced a new LOOPP configuration and modified the LoopRegistry constructor to accept it. The generic exit code 1 in integration tests suggests a failure during the initialization or usage of LoopRegistry due to the missing or incorrect LOOPP dependency in the test environment.

Autofix Options

You can use our MCP server to get AI assistance with debugging and fixing these failures.

  • Use MCP in your IDE to debug the issue. Try Help me fix CI failures from aVMqBGW7 to get started.

View all test uploads

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants