Please try following.
Open Collective manager > Select secondary > Try setting 0 to Attributes "SyncPeriod"
I think "CommPeriod" is also related.
I do not think this is the correct approach. According to the documentation for the 'SyncPeriod' attribute:
A SyncPeriod value of zero indicates that secondary server never automatically checks and updates its configuration; you must force synchronization
So setting this attribute to 0 will mean that the Secondary Server will only get sync'ed when it is manually triggered from Collective manager.
2 of 2 people found this helpful
We've seen the issue you describe with interfaces that are capable of creating PI Points as needed like e.g. PI Interface for Universal File and Stream Loading (UFL).
When a new point becomes created, this happens on the Primary collective member first and a sync record is created to take care the same configuration change becomes applied to Secondary collective members. Because the members of a PI Collective are considered kind of independent, there's no acknowledgement required. A Secondary Collective member can as well be down for maintenance without the users even recognizing this is the case.
PI Buffer Subsystem is not aware if the point has been created on Secondary nodes.
As far as PI UFL Interface is concerned, I understood the issue becomes addressed by delaying new events for recently created PI Points to reduce the risk that the point doesn't exist on Secondary nodes at the time data is sent.
So one thing you could do is queuing events for recently created PI Points for a few minutes, or until you've verified new points have become created on Secondary nodes too. One way to do this would be through a sign-up for point updates with every member of the receiving Collective. Likely the easier approach could be actively querying all Collective members for the new PI Points until points are found on all members.
Thanks for your response. As detailed in my original post, my current workaround is to delay writing of new events for 20 seconds. This allows enough time for the new point to get replicated to the secondary. It is interesting to note that UFL handles this issue in the same way (by introducing a delay).
I was looking to see if there were some other approaches to this, but it doesn't look like there will be.
The only other approach I can think of is to periodically poll the secondary for the new tag until it is found (i.e. wait 20 seconds, check for tag on secondary; if exists, write value, else wait x seconds and repeat).