Historian: provision newly-historized existing tags, HistoryUpdate, slow reads of unprovisioned tags #600

Closed
opened 2026-10-08 02:31:10 -04:00 by dohertj2 · 2 comments
Owner

Turning on historization for an EXISTING tag never calls EnsureTags (ProvisionHistorizedTags iterates AddedRawTags only), so continuous historization writes to a tag that doesn't exist; a restart doesn't fix it.
Sources: docs/plans/2026-06-27-historian-gateway-integration-issues.md Issues 3, 5; CLAUDE.md Historian section; AddressSpaceApplier.cs; docs/security.md:867; docs/Uns.md:319.

  • Provision changed raw tags whose IsHistorized went false→true or whose HistorianTagname changed
  • HistoryUpdate service surface (permission bit 12 ships, no bundle, no backend RPC)
  • Re-measure Issue 3 (HistoryRead on an unprovisioned tag took the full 30 s CallTimeout) now that the 03/S3 deadline exists; fail fast on unknown tag if still slow
  • Track deferred String/DateTime/Reference historization + the UInt16→UInt4 fallback (HistorianTypeMapper)

Filed 2026-10-08 by the pending/deferred-work sweep after the #562–#591 issue sweep.

Turning on historization for an EXISTING tag never calls `EnsureTags` (`ProvisionHistorizedTags` iterates `AddedRawTags` only), so continuous historization writes to a tag that doesn't exist; a restart doesn't fix it. Sources: docs/plans/2026-06-27-historian-gateway-integration-issues.md Issues 3, 5; CLAUDE.md Historian section; AddressSpaceApplier.cs; docs/security.md:867; docs/Uns.md:319. - [ ] Provision changed raw tags whose `IsHistorized` went false→true or whose `HistorianTagname` changed - [ ] HistoryUpdate service surface (permission bit 12 ships, no bundle, no backend RPC) - [ ] Re-measure Issue 3 (HistoryRead on an unprovisioned tag took the full 30 s `CallTimeout`) now that the 03/S3 deadline exists; fail fast on unknown tag if still slow - [ ] Track deferred String/DateTime/Reference historization + the UInt16→UInt4 fallback (HistorianTypeMapper) _Filed 2026-10-08 by the pending/deferred-work sweep after the #562–#591 issue sweep._
Author
Owner

Partial on master; left open.

  • Item 1: changed raw tags whose IsHistorized went false->true, or whose HistorianTagname changed, are now provisioned (dc54b883, merge e9e35baa; AddressSpaceApplierProvisioningTests).
  • Item 2, HistoryUpdate service surface: not started. It is a new service surface plus backend RPC, not a small fix; docs/security.md still states that bit 12 ships without a bundle or backend.
  • Item 3, re-measure Issue 3 (HistoryRead on an unprovisioned tag taking the full 30 s CallTimeout) under the 03/S3 deadline: needs a live HistorianGateway + licensed Historian (VPN), so not done in this sweep.
  • Item 4, tracking of deferred String/DateTime/Reference historization and the UInt16->UInt4 fallback: not recorded anywhere beyond CLAUDE.md prose; still to do.

Progress 2026-10-08 by the hardware-available issue sweep (master d898262c); left open for the remaining items.

Partial on master; left open. - [x] Item 1: changed raw tags whose `IsHistorized` went false->true, or whose `HistorianTagname` changed, are now provisioned (dc54b883, merge e9e35baa; `AddressSpaceApplierProvisioningTests`). - [ ] Item 2, HistoryUpdate service surface: not started. It is a new service surface plus backend RPC, not a small fix; docs/security.md still states that bit 12 ships without a bundle or backend. - [ ] Item 3, re-measure Issue 3 (HistoryRead on an unprovisioned tag taking the full 30 s CallTimeout) under the 03/S3 deadline: needs a live HistorianGateway + licensed Historian (VPN), so not done in this sweep. - [ ] Item 4, tracking of deferred String/DateTime/Reference historization and the UInt16->UInt4 fallback: not recorded anywhere beyond CLAUDE.md prose; still to do. *Progress 2026-10-08 by the hardware-available issue sweep (master d898262c); left open for the remaining items.*
Author
Owner

Deferred-types/UInt16 fallback docs landed (598cb133, docs/Historian.md). HistoryUpdate split into #652; re-measure of the 30 s HistoryRead of unprovisioned tags split into #653. Closing.

Deferred-types/UInt16 fallback docs landed (598cb133, docs/Historian.md). HistoryUpdate split into #652; re-measure of the 30 s HistoryRead of unprovisioned tags split into #653. Closing.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#600