OpcUaClient: porting backlog from the stranded auto/driver-gaps branch (9 items, #607) #635

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

Porting backlog for the OpcUaClient driver, from the #607 branch ledger (docs/plans/2026-10-08-driver-gaps-branch-ledger.md). These issues were auto-closed against PRs merged into auto/driver-gaps, which never reached master (and predates v3). Each item below was classified STRANDED: no equivalent on master (symbol/file grep plus docs), so the work needs a port-or-drop decision. The branch commit is listed per item (git show <sha> on origin/auto/driver-gaps); the branch is a design reference, not a cherry-pick, because the driver and the address-space model were rewritten since.

Most of these are pure managed code and can be verified against the opc-plc fixture or the in-process ServerEventRig (see #622). #286 interacts with the comms-loss watchdog reconnect.

Source: #607; ledger rows for the original issue numbers below.

Port-or-drop checklist (9 items; effort S/M/L from the ledger):

  • #273 Per-subscription tuning (effort S; branch 7209364c). Subscription params hardcoded (OpcUaClientDriver.cs:1245-1250) / Port risk: Low
  • #274 Per-tag advanced subscription tuning incl. deadband (effort M; branch fae00749). No per-tag DataChangeFilter/deadband/sampling tuning (QueueSize=1 hardcoded) / Port risk: Medium: ISubscribable/DriverCapability signature change on Core
  • #275 Honor server OperationLimits (effort M; branch 494fdf23). No OperationLimits handling / Port risk: Low-medium; pure managed, fixture testable (opc-plc)
  • #276 Diagnostics counters (effort M; branch bb1ab47b). No OpcUaClientDiagnostics counters / Port risk: Low; DriverHealth.Diagnostics change
  • #277 CRL / revocation handling (effort M; branch 4a3860ae). No CRL/revocation options (only RejectedCertificateStore) / Port risk: Low-medium
  • #278 Discovery URL FindServers (effort M; branch 0f509fbd). No FindServers / DiscoveryUrl / Port risk: Low
  • #283 Reverse Connect (effort M; branch 5c72deb8). No reverse connect / Port risk: Medium: SDK ReverseConnectManager; needs listener port + fixture
  • #285 Full Aggregate function set (effort S; branch 0adc5adb). HistoryAggregateType has only 5 values; MapAggregateToNodeId (:1779) throws otherwise / Port risk: Low: Core enum append + mapping
  • #286 ServerUriArray redundant failover (effort L; branch 705c98ad). No ServerUriArray failover; master has static EndpointUrls ordered list with PerEndpointConnectTimeout (partial) / Port risk: Medium: interacts with comms-loss watchdog reconnect

Filed 2026-10-08 by the hardware-available issue sweep.

Porting backlog for the OpcUaClient driver, from the #607 branch ledger (`docs/plans/2026-10-08-driver-gaps-branch-ledger.md`). These issues were auto-closed against PRs merged into `auto/driver-gaps`, which never reached master (and predates v3). Each item below was classified STRANDED: no equivalent on master (symbol/file grep plus docs), so the work needs a port-or-drop decision. The branch commit is listed per item (`git show <sha>` on `origin/auto/driver-gaps`); the branch is a design reference, not a cherry-pick, because the driver and the address-space model were rewritten since. Most of these are pure managed code and can be verified against the opc-plc fixture or the in-process `ServerEventRig` (see #622). #286 interacts with the comms-loss watchdog reconnect. Source: #607; ledger rows for the original issue numbers below. Port-or-drop checklist (9 items; effort S/M/L from the ledger): - [ ] #273 Per-subscription tuning (effort S; branch 7209364c). Subscription params hardcoded (OpcUaClientDriver.cs:1245-1250) / Port risk: Low - [ ] #274 Per-tag advanced subscription tuning incl. deadband (effort M; branch fae00749). No per-tag DataChangeFilter/deadband/sampling tuning (QueueSize=1 hardcoded) / Port risk: Medium: ISubscribable/DriverCapability signature change on Core - [ ] #275 Honor server OperationLimits (effort M; branch 494fdf23). No OperationLimits handling / Port risk: Low-medium; pure managed, fixture testable (opc-plc) - [ ] #276 Diagnostics counters (effort M; branch bb1ab47b). No OpcUaClientDiagnostics counters / Port risk: Low; DriverHealth.Diagnostics change - [ ] #277 CRL / revocation handling (effort M; branch 4a3860ae). No CRL/revocation options (only RejectedCertificateStore) / Port risk: Low-medium - [ ] #278 Discovery URL FindServers (effort M; branch 0f509fbd). No FindServers / DiscoveryUrl / Port risk: Low - [ ] #283 Reverse Connect (effort M; branch 5c72deb8). No reverse connect / Port risk: Medium: SDK ReverseConnectManager; needs listener port + fixture - [ ] #285 Full Aggregate function set (effort S; branch 0adc5adb). HistoryAggregateType has only 5 values; MapAggregateToNodeId (:1779) throws otherwise / Port risk: Low: Core enum append + mapping - [ ] #286 ServerUriArray redundant failover (effort L; branch 705c98ad). No ServerUriArray failover; master has static EndpointUrls ordered list with PerEndpointConnectTimeout (partial) / Port risk: Medium: interacts with comms-loss watchdog reconnect *Filed 2026-10-08 by the hardware-available issue sweep.*
Author
Owner

Per-item status (merge a60279eb b626-opcuaclient):

  • Ported: #273 (subscription settings range-checked); #275 (resolved: SDK SessionClientBatched honours OperationLimits, driver chunking removed); #276 (session events as OTel counter otopcua.driver.opcuaclient.events); #277 (docs); #278 (discoveryServerUri filter; ambiguous discovery fails connect); #285 (full Part 13 HistoryAggregateType, BadAggregateNotSupported)
  • Separate design (#644): #274 (deadband/scan-group), #283 #286 (reverse connect / ServerUriArray failover)
    Left open for the user to decide closure.
Per-item status (merge a60279eb b626-opcuaclient): - Ported: #273 (subscription settings range-checked); #275 (resolved: SDK SessionClientBatched honours OperationLimits, driver chunking removed); #276 (session events as OTel counter otopcua.driver.opcuaclient.events); #277 (docs); #278 (discoveryServerUri filter; ambiguous discovery fails connect); #285 (full Part 13 HistoryAggregateType, BadAggregateNotSupported) - Separate design (#644): #274 (deadband/scan-group), #283 #286 (reverse connect / ServerUriArray failover) Left open for the user to decide closure.
Author
Owner

Tracker closed. OpcUaClient: the remaining items #274/#283/#286 are covered by design umbrella #644. New defects found in b640: #648, #649.

Tracker closed. OpcUaClient: the remaining items #274/#283/#286 are covered by design umbrella #644. New defects found in b640: #648, #649.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#635