history: node manager never issues event-HistoryRead continuation points #669
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?
Found in the pluggable-historian work. This bug predates that work and is not specific to the backend.
OtOpcUaNodeManager never issues or resumes continuation points for event HistoryRead. When a client caps an events read (
NumValuesPerNode), it gets only the first page, even when the data source reports more. Both IHistorianDataSource implementations can signal truncation, so the gap is entirely in the node manager.Scope: event continuation points, mirroring the raw-read paging (including same-timestamp ties), plus a test that pages through more events than the cap.
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
Fixed in
d803e0ea(merged to master).ServeEventsAsync); cursor = last event time + trailing tie count, oversized tie clusters over-fetched withinMaxTieClusterOverfetch. Continuation points are bound to their node and read kind (since #668 the record carries a cursor kind Raw/Events/Modified); an unknown CP ⇒BadContinuationPointInvalid.Extreme_bounds_MaxValue_and_MinValue_are_safe.Live gate (docker-dev, gate 1): event history paged over the wire with a real SDK client — every event exactly once across CPs; extreme bounds safe.
Follow-ups filed: reverse capped read semantics, events end-only alignment, Gateway year-9999 bound.