Project

General

Profile

Actions

Feature #39291

open

Add persistent HTTP connection pooling for Candlepin requests

Added by Pablo Méndez Hernández about 1 month ago. Updated about 1 month ago.

Status:
Ready For Testing
Priority:
Normal
Category:
Subscriptions
Target version:
Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

Each Candlepin request currently creates a new TCP+TLS connection via RestClient, then tears it down. Under concurrent registration (500+ hosts), this generates thousands of TIME_WAIT sockets and wastes ~30ms per TLS handshake.

Add a Net::HTTP::Persistent connection pool that maintains one TCP+TLS connection per Puma thread, reused across all Candlepin calls within that thread. Stale connections are detected and re-established automatically.

Requires the net-http-persistent gem (MIT, already packaged in Fedora, its only dependency connection_pool is already in foreman-packaging).

Actions #1

Updated by The Foreman Bot about 1 month ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/Katello/katello/pull/11726 added
Actions #2

Updated by Vladimir Sedmik about 1 month ago

  • Category set to Subscriptions
  • Assignee set to Pablo Méndez Hernández
  • Target version set to Katello 5.0.0
  • Triaged changed from No to Yes
Actions

Also available in: Atom PDF