-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[BUG] Subscription Timeout retries was broken when fixing the Readhandler creation issue #31635
Comments
When the server fails to establish the session, the client might be shutdown. Since the client will never store the subscription information, the client will forget the ReadClient which holds the resumed subscription after it reboots. Then the subscription will be meaningless since the report will never be handled. That's the reason why I delete the the subscription entry. |
I'm not sure the explanation justifies unilaterally changing the entires features behavior... At the end of the day, i don't think it this is an ok change. In my opignion, a better approach would have been to add a number of retries before deleting the entry that could have been set to one to allow the behavior you want without changing how the feature behaves. |
I agree with Mathieu. Subscription resumption has to retry multiple times, in case of temporary network outage, for example. I failed to notice the Delete change in the previous PR and I feel that part has to be reverted to keep the original logic. |
Also I found another cause why the sever app does not retry on resuming subscriptions. The previous work flow is: But the current work flow is: The read handler will not be created and Should we schedule subscription resumption when failing to establish the session? @mkardous-silabs @jtung-apple |
Yes we should schedule subscription resumption in this case. Please restore the intended logic. Thanks! |
@wqx6 Will you be making a fix soon for this? |
Reproduction steps
PR #30491 Modified the Subscription Timeout logic in a such a way where the server will only retry once before deleting the persisted subscription entry.
SubscriptionResumptionSessionEstablisher::HandleDeviceConnectionFailure
deletes the subscription entry if the server fails to establish a case session. This modifies the previously released feature without the PR mentionning this change.To reproduce :
chip_persist_subscriptions=true chip_subscription_timeout_resumption=true
Bug prevalence
Everytime
GitHub hash of the SDK that was being used
166c4b5
Platform
core
Platform Version(s)
No response
Anything else?
This is a regression of a feature released in v1.2.
The text was updated successfully, but these errors were encountered: