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

Restoring event subscriptions code is faulty #3

Closed
yallie opened this issue Dec 18, 2016 · 2 comments
Closed

Restoring event subscriptions code is faulty #3

yallie opened this issue Dec 18, 2016 · 2 comments
Labels
Milestone

Comments

@yallie
Copy link
Member

yallie commented Dec 18, 2016

Zyan currently uses subscription counters and checks if they match on client and server. But we can't rely on them if we're making concurrent calls with subscriptions/unsubscriptions. Zyan detects the mismatch and starts re-subscribing even if it actually doesn't need to. It doesn't break anything, just generates some parasite network traffic.

@yallie yallie added the bug label May 10, 2017
@yallie
Copy link
Member Author

yallie commented Feb 18, 2019

Counter is not enough for detection subscription mismatch.
A server and a client might have different set of active subscriptions of the same length.
Let's compare fingerprints/sha hashes of the active delegate correlation sets.

@yallie
Copy link
Member Author

yallie commented Feb 19, 2019

TODO:

  • Use checksums instead of the simple subscription counter
  • DynamicEventWire.CancelSubscription doesn't lock the wiring list
  • ZyanConnection.ReconnectRemoteEvents swallows exceptions
  • ZyanProxy.ReconnectRemoteEvents still calls ZyanConnection.CheckRemoteSubscriptionCounter
  • Batch resubscriptions — IZyanDispatcher.ReconnectEventHandlers method
  • Add a way to trace re-subscriptions — ZyanComponentHost.SubscriptionsRestored event

@yallie yallie changed the title Restoring event subscriptions code is flawed Restoring event subscriptions code is faulty Feb 19, 2019
yallie added a commit to yallie/Zyan that referenced this issue Feb 19, 2019
@yallie yallie added this to the 2.12 milestone Feb 19, 2019
yallie added a commit to yallie/Zyan that referenced this issue Feb 19, 2019
yallie added a commit to yallie/Zyan that referenced this issue Feb 20, 2019
yallie added a commit that referenced this issue Feb 20, 2019
yallie added a commit to yallie/Zyan that referenced this issue Feb 21, 2019
yallie added a commit to yallie/Zyan that referenced this issue Feb 21, 2019
yallie added a commit to yallie/Zyan that referenced this issue Feb 21, 2019
yallie added a commit to yallie/Zyan that referenced this issue Feb 21, 2019
@yallie yallie closed this as completed Nov 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant