@Kevin.Herron I have an OPC-UA server that aggregates multiple OPC-UA servers into a single address space. This server generates the NamespaceArray on boot based on which server it connects to first. This means that for each reboot of the aggregating OPC-UA server, the Indexes associated with each Server's nodes may swap around.
When the namespace indexes change, this breaks Ignition's tags subscribed to the nodes, as the namespace index appears fixed from the time the tag was created.
Other software like UA Expert is tolerant of the namespace index changing, as they are following the OPC-UA spec 1.03 Part 5 section 6.3.1:
NamespaceArray defines an array of namespace URIs. This Variable is also referred as
namespace table. The indexes into the namespace table are referred to as NamespaceIndexes.
NamespaceIndexes are used in NodeIds in OPC UA Services, rather than the longer
namespace URI. Index 0 is reserved for the OPC UA namespace, and index 1 is reserved for
the local Server. Clients may read the entire namespace table or they may read individual
entries in the namespace table. The Server shall not modify or delete entries of the namespace
table while any client has an open session to the Server, because clients may cache the
namespace table. A Server may add entries to the namespace table even if clients are
connected to the Server. It is recommended that Servers not change the indexes of the
namespace table but only add entries, because the client may cache NodeIds using the indexes.Nevertheless, it might not always be possible for Servers to avoid changing indexes in the namespace table. Clients that cache NamespaceIndexes of NodeIds should always check when starting a session to verify that the cached NamespaceIndexes have not changed.