Propagate alarm events up the full notifier chain so subscribers at any ancestor see them
Previously alarms were only reported to the immediate parent node and the Server node. Now ReportEventUpNotifierChain walks the full parent chain so clients subscribed at TestArea see alarms from TestMachine_001, and EventNotifier is set on all ancestors of alarm-containing nodes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -117,6 +117,32 @@ alarmack write → denied (BadUserAccessDenied)
|
||||
bad password → denied (connection rejected)
|
||||
```
|
||||
|
||||
## Alarm Notifier Chain Update
|
||||
|
||||
Updated: `2026-03-28`
|
||||
|
||||
Both instances updated with alarm event propagation up the notifier chain.
|
||||
|
||||
Code changes:
|
||||
- Alarm events now walk up the parent chain (`ReportEventUpNotifierChain`), reporting to every ancestor node
|
||||
- `EventNotifier = SubscribeToEvents` is set on all ancestors of alarm-containing nodes (`EnableEventNotifierUpChain`)
|
||||
- Removed separate `Server.ReportEvent` call (no longer needed — the walk reaches the root)
|
||||
|
||||
No configuration changes required — alarm tracking was already enabled (`AlarmTrackingEnabled: true`).
|
||||
|
||||
Verification (instance1, port 4840):
|
||||
```
|
||||
alarms --node TestArea --refresh:
|
||||
TestMachine_001.TestAlarm001 → visible (Severity=500, Retain=True)
|
||||
TestMachine_001.TestAlarm002 → visible (Severity=500, Retain=True)
|
||||
TestMachine_001.TestAlarm003 → visible (Severity=500, Retain=True)
|
||||
TestMachine_002.TestAlarm001 → visible (Severity=500, Retain=True)
|
||||
TestMachine_002.TestAlarm003 → visible (Severity=500, Retain=True)
|
||||
|
||||
alarms --node DEV --refresh:
|
||||
Same 5 alarms visible at DEV (grandparent) level
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
The service deployment and restart succeeded. The live CLI checks confirm the endpoint is reachable and that the array node identifier has changed to the bracketless form. The array value on the live service still prints as blank even though the status is good, so if this environment should have populated `MoveInPartNumbers`, the runtime data path still needs follow-up investigation.
|
||||
|
||||
Reference in New Issue
Block a user