Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Status subscriptions and updates on change+interval #21

Closed
otterdahl opened this issue Sep 11, 2019 · 5 comments
Closed

Status subscriptions and updates on change+interval #21

otterdahl opened this issue Sep 11, 2019 · 5 comments
Labels
breaking breaking change extend
Projects
Milestone

Comments

@otterdahl
Copy link
Contributor

We've observed that sometimes the supervision system doesn't show the recent status of the TLC correctly.

Upon investigating the cause for this issue we have found that in some situations the supervision system detects a communication disruption but the TLC hasn't. This may cause the supervision system to show a communication disruption as the last known status of the TLC, but the RSMP connection can be restored without the need for a new RSMP handshake.

Due to the fact that many StatusSubscribes only updates on change - and some statuses changes very seldomly - may cause the supervision system to show incorrect or missing status for a TLC during a long time.

Currently StatusSubscribe supports update on change (uRt=0) or at a given interval (uRt>0).

I think that StatusSubscribe should be updated to support update on change and update on given interval at the same time. It doesn't need update on interval if it has changed since last interval.

This feature is present in other similar protocols.

@otterdahl otterdahl added extend breaking breaking change labels Sep 11, 2019
@otterdahl otterdahl added this to the 3.1.5 milestone Sep 11, 2019
@emiltin
Copy link
Contributor

emiltin commented Sep 11, 2019

Suggestion: add a boolean field 'sendOnChange'.

uRt=0: send on change
sendOnChange=true: send on change
uRt=60: update every 60 sec
uRt=60,sendOnChange=true: send on changes, but also every 60 second if no change
uRt=60,sendOnChange=false: ?
uRt=0, sendOnChange=false: ?

@emiltin
Copy link
Contributor

emiltin commented Oct 1, 2019

In a perfect world, this would not be needed, and we could rely on interval=0. But in reality, special situations can arise that cause a status message to be missed. Other protocols include similar functionality.

@emiltin
Copy link
Contributor

emiltin commented Oct 1, 2019

It might be important to know if a status mesage was sent due to an actual change, or just due to the fixed interval.

@emiltin emiltin added this to Backlog in Core/SXL Jun 2, 2020
otterdahl added a commit that referenced this issue Jun 8, 2020
Adds sendOnChange "sOc" which can be used in parallel with uRt.

We've observed that sometimes the supervision system doesn't show the
recent status of the equipment correctly. Due to the fact that in many
cases StatusSubscribes only update on change - and some statuses changes
very seldomly - may cause the supervision system to show incorrect or
missing status for an equipment during a long time.

Previously, StatusSubscribe supported either update on change (uRt=0) or
interval (uRt>0).

Discussed in #21
@otterdahl
Copy link
Contributor Author

Suggestion added with commit c8af9c3

@otterdahl
Copy link
Contributor Author

Added in 3.1.5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking breaking change extend
Projects
No open projects
Core/SXL
Backlog
Development

No branches or pull requests

2 participants