Skip to content

terminology: the HTS client hangs for minutes behind an egress proxy instead of failing fast #470

Description

@angela-helios

Surfaced on PR #466's CI: terminology_integration::test_in_modifier_fails_open_on_hts_unavailable points :in at a closed local port and expects fail-open within the client's 10s timeout — the run took 789s and returned 500.

Three compounding problems in TerminologyServiceClient::new:

  1. reqwest honors the runner's proxy env but cannot parse CIDR entries in no_proxy, so 127.0.0.1 traffic detoured through the egress proxy (the ci: nightly ui-tests-matrix — Elasticsearch leg failing (Postgres and MongoDB green) #449 runner-proxy signature, third surface).
  2. No connect timeout — an unreachable server consumed the whole request budget instead of failing in milliseconds.
  3. build().unwrap_or_default() silently fell back to a client with no timeouts at all when the builder errs — the unbounded hang observed.

The terminology server is a configured internal endpoint; the client should bypass proxies outright, fail connects fast, and treat a client-build failure as the startup-visible misconfiguration it is.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions