docs(index): OtOpcUa batch #679–#680 — historian aggregate parity, Gateway Average/Count refused
This commit is contained in:
@@ -260,3 +260,21 @@ AddRoute of the dev Mac (`oee-tagdump-mac`, `10.181.206.245.1.1`) on the two tes
|
||||
- OpcUaClient-backed tags recover much faster after an upstream restart.
|
||||
- Only reverse reads change shape (ScadaBridge issues no processed or event history reads).
|
||||
- HistoryUpdate is refused off-Primary.
|
||||
- **2026-10-12 batch #679–#680 (both closed; OtOpcUa `8ebee2ac`).** Historian processed reads. Live gate 8 passed on
|
||||
docker-dev (SqlServer + QuestDb, central-1/2); it found one defect introduced by #680, fixed before push.
|
||||
- **#679 (Gateway backend):** ⚠️ `Average` and `Count` now return `BadAggregateNotSupported` — AVEVA has no arithmetic
|
||||
mean or sample count (they used to return AVEVA's time-weighted average and rollover-counter increase).
|
||||
`TimeAverage` → `TimeWeightedAverage` is served instead. Magnitude unverified live (VPN).
|
||||
- **#680 (SqlServer/QuestDb), aligned to Part 13 / the SDK `AggregateCalculator`:**
|
||||
- ⚠️ TimeAverage/Total go Uncertain when any part is Uncertain / bridged across Bad / extrapolated / not covered —
|
||||
a live tag's latest interval is now Uncertain. Total integrates only the covered part.
|
||||
- ⚠️ PercentGood/PercentBad are duration-based (were sample counts) and row-capped by `MaxTimeWeightedRawRows`.
|
||||
- ⚠️ TimeAverage2/Total2 no longer extrapolate past the last sample (Partial, then `BadNoData`).
|
||||
- ⚠️ Count counts Good samples only; an empty interval inside the data range is `0`/Good. Start/End return the raw
|
||||
sample (own time/status, null if Bad). End-of-data Partial on the interval holding the last sample.
|
||||
- Report-by-exception tags read `BadNoData`/Uncertain in trailing intervals until their next sample arrives.
|
||||
- **Gate defect:** QuestDB opens a separate table reader per CTE reference, so the new Start/End query raced
|
||||
concurrent writes (~1 in 17k–90k reads failed the node). Now one scan; readers tolerate a missing pick.
|
||||
- **Follow-ups:** #681 (Gateway per-sample aggregates from raw), #682 (advertise per-backend aggregates), #683
|
||||
(QuestDB data-range lookup cost), #684 (Average/Min/Max include Uncertain).
|
||||
- **ScadaBridge impact:** none — it issues no processed history reads.
|
||||
|
||||
Reference in New Issue
Block a user