You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The spec states that the KeepExistingSubscriptions flag be processed first before doing any further processing of the SubscribeRequest message:
If KeepSubscriptions is FALSE, all existing or pending subscriptions on the publisher for this subscriber SHALL be terminated.
This layer SHALL process the Subscribe Request action as defined in Incoming Read Request and Subscribe Request Action Processing.
However in the SDK, the order is inverted - processing of the attribute and event path lists, and ensuring sufficient resources exist is done first before handling the KeepSubscriptions flag.
Impact
An incorrect subscription may get evicted to make way for the new subscription, when in fact, subscriptions from the originating peer are what should get evicted. The wrongly selected subscription would be from other controllers on the same fabric
This means that when all subscription slots are occupied (i.e 3 subs / fabric, 5 fabrics), that we cannot up-hold the spec stated minimas since re-subscriptions from any of the 15 subscribers will cause an eviction of another subscription inadvertently.
Bug prevalence
always
GitHub hash of the SDK that was being used
master
Platform
core
Platform Version(s)
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered:
Reproduction steps
The spec states that the
KeepExistingSubscriptions
flag be processed first before doing any further processing of the SubscribeRequest message:However in the SDK, the order is inverted - processing of the attribute and event path lists, and ensuring sufficient resources exist is done first before handling the
KeepSubscriptions
flag.Impact
An incorrect subscription may get evicted to make way for the new subscription, when in fact, subscriptions from the originating peer are what should get evicted. The wrongly selected subscription would be from other controllers on the same fabric
This means that when all subscription slots are occupied (i.e 3 subs / fabric, 5 fabrics), that we cannot up-hold the spec stated minimas since re-subscriptions from any of the 15 subscribers will cause an eviction of another subscription inadvertently.
Bug prevalence
always
GitHub hash of the SDK that was being used
master
Platform
core
Platform Version(s)
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: