Skip to content

Feature: Add connection pool settings to YAML config #115

@cbaugus

Description

@cbaugus

Summary

Connection pool settings (POOL_MAX_IDLE_PER_HOST, POOL_IDLE_TIMEOUT_SECS) are only configurable via environment variables. This means all tests on a worker use the same pool behavior — you can't switch between connection-reuse and new-connection-per-request tests without restarting the process with different env vars.

Solution

Add an optional pool section to the YAML config block so pool behavior can be set per-test via POST /config:

config:
  baseUrl: https://example.com
  pool:
    maxIdlePerHost: 0       # 0 = new connection per request
    idleTimeoutSecs: 0      # 0 = close idle connections immediately

Both fields are optional — when omitted, env-var defaults apply. YAML values override env vars when present.

Use Cases

  • Force new connections: maxIdlePerHost: 0, idleTimeoutSecs: 0 — test TLS handshake overhead
  • Long-lived reuse: maxIdlePerHost: 1, idleTimeoutSecs: 600 — keep connections alive across infrequent requests
  • Default pooling: omit pool section entirely — uses env-var defaults (32 idle, 30s timeout)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions