diff --git a/docs/Historian.md b/docs/Historian.md index 083360ed..dbebd16e 100644 --- a/docs/Historian.md +++ b/docs/Historian.md @@ -804,6 +804,9 @@ switch `ServerHistorian:HonorReturnBounds = false` restores the pre-#691 behavio the microsecond, "on the bound" compares at that resolution, so a sample at ⌊StartTime⌋ is never returned twice. A first page therefore costs up to three backend reads (start bound, data, end bound). The `BoundingValueConformance` suite pins those exact lookup reads on SqlServer and QuestDB. + ⚠️ On the **Gateway** the start-bound walk-back is subject to the #689 per-millisecond tie limit: if the millisecond holding the + bound has more than `MaxTieClusterOverfetch` samples, the lookup cannot pick the cluster's last sample without reading it all, so + the **whole node** read fails `BadTooManyOperations` (even though the data read alone would succeed) rather than return a wrong bound. - **Modified reads:** `IsReadModified = true` with `ReturnBounds = true` is `Bad_InvalidArgument` per node (Part 11 §6.5.3.3). - **Kill switch:** `ServerHistorian:HonorReturnBounds` (default `true`). `false` ignores `ReturnBounds` exactly as before #691 — stored samples only, and no modified-read rejection.