Gateway historian: default MaxTimeWeightedRawRows + 18 exceeds the gateway default ceiling #688
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Low. Found by #681 review and confirmed by the live AVEVA gate (2026-10-12): OtOpcUa's per-sample raw read requests
MaxTimeWeightedRawRows + 18= 1,000,018 rows by default, above the gateway's defaultMaxValuesCeilingof 1,000,000. WithAllowStreamingBeyondCeiling=falseon the gateway every Gateway per-sample aggregate read is refused (BadTooManyOperations), even a 9-row window (live: rejection text "max_values exceeds the server ceiling" confirmed).Fix: clamp the requested budget to the ceiling (e.g. derive the Gateway default as 1,000,000 − 18, or make the +18 margin come out of the cap), and document.
Fixed on master
1f5d3100. The per-sample aggregate budget is clamped to the gateway default ceiling (1,000,000) when the caller's cap is at or under it; the raw path is deliberately not clamped (AVEVA always emits a boundary row, so clamping made page sizes 999,985–1,000,000 always fail).Live AVEVA gate PASS: a default-budget per-sample aggregate requests exactly 1,000,000 rows and is served, including with the gateway set to
AllowStreamingBeyondCeiling=false. Strict-ceiling uncapped raw reads tracked in #691.