Skip to content

Configure HTTP transport connection pooling for bridge tasks#22956

Open
akuzni2 wants to merge 3 commits into
release/2.48.1from
feature/http-transport-pool-config
Open

Configure HTTP transport connection pooling for bridge tasks#22956
akuzni2 wants to merge 3 commits into
release/2.48.1from
feature/http-transport-pool-config

Conversation

@akuzni2

@akuzni2 akuzni2 commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds configurable HTTP transport pool settings under [JobPipeline.HTTPRequest] (MaxIdleConns, MaxIdleConnsPerHost, IdleConnTimeout) for pipeline http and bridge adapters
  • Wires those settings into restricted/unrestricted pipeline HTTP clients at node startup
  • Bumps chainlink-common to include TransportConfig with higher default idle connection limits (100 per host vs Go's 2) to reduce connection churn under high bridge throughput

Companion change: smartcontractkit/chainlink-common#2193

Test plan

  • go test ./core/services/chainlink/ -run TestConfig -count=1
  • go build ./core/cmd/...
  • Deploy and verify reduced connection churn / improved p99 bridge latency

Expose JobPipeline.HTTPRequest transport pool settings and wire them into
pipeline HTTP clients via chainlink-common TransportConfig to reduce
connection churn under high bridge throughput.
@github-actions

Copy link
Copy Markdown
Contributor

✅ No conflicts with other open PRs targeting release/2.48.1

@github-actions

Copy link
Copy Markdown
Contributor

I see you updated files related to core. Please run make gocs 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.

@akuzni2 akuzni2 added the build-publish Build and Publish image to SDLC label Jun 24, 2026
akuzni2 added 2 commits June 24, 2026 15:32
Run go mod tidy on dependent modules so core/scripts and other workspace
modules pick up the new chainlink-common pseudo-version and go.sum entries.
@akuzni2 akuzni2 requested a review from a team as a code owner June 24, 2026 20:51
@trunk-io

trunk-io Bot commented Jun 24, 2026

Copy link
Copy Markdown

Static BadgeStatic BadgeStatic BadgeStatic Badge

Failed Test Failure Summary Logs
TestScripts/node/validate/warnings The test failed during a validation step of a node configuration, indicating an issue with the node's setup or environment. Logs ↗︎
TestScripts/node/validate/warnings The test failed during validation of the node configuration, but the specific cause of failure is not detailed in the log. Logs ↗︎
TestScripts/node/validate/disk-based-logging-disabled The test failed without a specific error message, indicating an unspecified failure during script execution. Logs ↗︎
TestScripts/node/validate/disk-based-logging-disabled The test failed without a specific error message, indicating an unspecified failure during script execution. Logs ↗︎

... and 29 more

View Full Report ↗︎Docs

@cl-sonarqube-production

Copy link
Copy Markdown

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

Labels

build-publish Build and Publish image to SDLC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant