Problem
A Client with model change tracking enabled does not notice namespace table changes on a running
Server.
ModelChangeTracker subscribes to GeneralModelChangeEventType and raises ModelChanged, but
nothing refetches the namespace table. FetchNamespaceTablesAsync exists on ISession and
ManagedSession, and is only called once while the Session is being opened.
This matters now that a Server supports live NodeManager registration (#3993, PR #4094): a live add
appends a namespace URI and bumps UrisVersion, so a tracking Client resolves NodeIds from the new
namespace against a stale NamespaceUris table.
Expected
With change tracking enabled, a Client should refresh its namespace table when a model change
indicates that the Server namespace array has changed, so NodeIds from newly added namespaces
resolve correctly.
Notes
ModelChangeTracker currently has no Session reference, so wiring the refetch in means widening its
construction. This is Client-side work and was deliberately kept out of the Server-side PR #4094.
Raised from review feedback on PR #4094.
Problem
A Client with model change tracking enabled does not notice namespace table changes on a running
Server.
ModelChangeTrackersubscribes toGeneralModelChangeEventTypeand raisesModelChanged, butnothing refetches the namespace table.
FetchNamespaceTablesAsyncexists onISessionandManagedSession, and is only called once while the Session is being opened.This matters now that a Server supports live NodeManager registration (#3993, PR #4094): a live add
appends a namespace URI and bumps
UrisVersion, so a tracking Client resolves NodeIds from the newnamespace against a stale
NamespaceUristable.Expected
With change tracking enabled, a Client should refresh its namespace table when a model change
indicates that the Server namespace array has changed, so NodeIds from newly added namespaces
resolve correctly.
Notes
ModelChangeTrackercurrently has no Session reference, so wiring the refetch in means widening itsconstruction. This is Client-side work and was deliberately kept out of the Server-side PR #4094.
Raised from review feedback on PR #4094.