Skip to content

Gateway admin API silently ignores EOF failure threshold updates #2173

Open @ilyar opened 2026-10-29 16:14 UTC 0 comments Updated 2026-10-29 16:14 UTC

Gateway settings expose participant_throttle.eof_transport_failure_threshold on GET, but POST silently leaves it unchanged

Observed with ghcr.io/gonka-ai/devshard-gateway:mainnet-v0.2.16-v6.0.0-rc1, inspected against source revision

Reproduction

  1. Read /v1/admin/settings using an admin key and preserve the original settings
  2. POST settings with participant_throttle.empty_stream_threshold=2147483647 and participant_throttle.eof_transport_failure_threshold=2147483647
  3. Read settings again

The first field becomes 2147483647, the EOF field remains 3, while the other requested quarantine durations are applied

Impact and source

The limiter takes the smaller of these two thresholds, so increasing the exposed empty-stream threshold alone still leaves the effective failure threshold at 3

The settings handler omits the EOF field from adminParticipantThrottleRequest and its update path, although the stored settings include it

Expected: accept and validate this field with persistence and effective runtime readback, or explicitly reject the unsupported update rather than silently accepting a partial change

Acceptance should cover POST and GET round-trip, persistence, effective limiter threshold, invalid values and preservation of unrelated settings

Issue 1506 discusses quarantine recovery behaviour, this report concerns the separate admin settings update contract


🔄 Auto-synced from Issue #2173 every hour.