-
Notifications
You must be signed in to change notification settings - Fork 44
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
feat: refactor peerManager for lightProtocols #1114
Comments
For topicHealth of lightClients following should be the approach:
Note: As of now, i am not considering case of multiple peer subscriptions since we have regular store queries in status-go that take care of any missed messages. But ideally that should also be taken into consideration while determining health status of Filter. cc @weboko @richard-ramos @jm-clius @fryorcraken @danisharora099 Please provide comments for above thoughts regarding topic/shard health for lightClients. |
Thanks for this - from Waku's perspective I see health more as a binary healthy/unhealthy. A single subscription is the combination of all content topics subscribed to by the filter client. If any part of the filter criteria within this subscription (i.e. one or more content topics) fail to receive messages, the subscription is a failure for Waku - for all we know critical application logic is spread across multiple content topics. Of course, an application may happily continue functioning with some missing messages, but in terms of defensive Waku-level logic I see the subscription simply as unhealthy. |
OK. But in case of status we normally end up with more than 1 subscription per client since there are a lot of content-topics as of now in use. So, in that case if we at Waku layer identify failed subscription we can mark that pubsubTopic as unhealthy eventhough other subscriptions are still active for it? Note that there is a possibility that different Filter peers are used for different contentTopics as of now due to the fact that close to 200 content-topics are being subscribed to. They get batched into different subscriptions and subscribed to different peers (based on random selection) |
Right! I apologise - I read this as a summary of the health of a subscription and not as a report on pubsub topic health. Indeed, I think partially healthy makes sense if speaking about the health of a pubsub topic if only subset of subscriptions on that pubsub topic is healthy. Disregard my previous comment. :) |
How is the app supposed to behave when it's "partially healthy"? I think that would help drive the definition of this state. The fact that some subscription are failing, is really not ideal, borderline unhealthy. I would expect partially healthy to be "we don't have redundancy". rather than explicitely knowing that messages for some topic won't be received. |
Agreed that this sounds better in considering health of a topic. |
In case of status the app can just indicate the health status in case of partially healthy/unhealthy so that user is aware there would be possible issues in reliability. |
Background
Some tasks i can think of. Need to analyze more on this.
topictopicHealthStatusChan
which is already done in case of relay based on logic explained here.- [ ] Peer Scoring and bad peers. Options for upper layers to indicate the scoring based on which peers are selected/maintained ?TBD
The text was updated successfully, but these errors were encountered: