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

PeerManager().SelectPeers returns peer which don't support the protocol #1111

Closed
kaichaosun opened this issue May 24, 2024 · 9 comments
Closed
Assignees

Comments

@kaichaosun
Copy link
Contributor

I'm trying to use PeerManager SelectPeers for store.StoreQueryID_v300, it returned a peer id and using it for the hash query, got error:

store.queryByHash failed                 requestID=0x28af3edd739b2acbfbfd7c915445cfd0c3ba0a04956258dae5b6203738b7f6b9 error="failed to negotiate protocol: protocols not supported: [/vac/waku/store-query/3.0.0]"
@chaitanyaprem
Copy link
Collaborator

That is odd.
Can you provide debug logs for this scenario?
I want to see if the node has advertise Storev3 as part of its identity protocol. Because that is where protocols for peer are stored within peerStore.
Another method is if someone explicitly adds a peer indicating it supports a specific protocol, then also this information is added to peerStore.

@chaitanyaprem chaitanyaprem self-assigned this May 24, 2024
@kaichaosun
Copy link
Contributor Author

kaichaosun commented May 24, 2024

@chaitanyaprem
Copy link
Collaborator

Can you let me know the query to which Store peer has failed?
Because all nodes in the fleets don't have store enabled, and I am not sure if all of them have storev3 enabled as well.

@chaitanyaprem
Copy link
Collaborator

One scenario i could think of is this:
ENR of the fleet node or Store node indicates it has store protocol, based on which the local go-waku node is including the peer to support Storev3. But what if fleet node is still using storev2? In that case go-waku thinks node supports Storev3, but actually fleet supports Storev2.
It would help to get details of the peer hence.

@chaitanyaprem
Copy link
Collaborator

chaitanyaprem commented May 24, 2024

One scenario i could think of is this: ENR of the fleet node or Store node indicates it has store protocol, based on which the local go-waku node is including the peer to support Storev3. But what if fleet node is still using storev2? In that case go-waku thinks node supports Storev3, but actually fleet supports Storev2. It would help to get details of the peer hence.

I can confirm from your logs that you are using shards.test fleet which is not yet upgraded to latest nwaku release(which means it doesn't support storev2). Hence this is what must be happening, Can you change fleet to shards.staging and confirm if you are still facing this issue?

@kaichaosun
Copy link
Contributor Author

@chaitanyaprem you can check the peers info here #1098 (comment), it shows store/v3 is there.

@chaitanyaprem
Copy link
Collaborator

chaitanyaprem commented May 27, 2024

@chaitanyaprem you can check the peers info here #1098 (comment), it shows store/v3 is there.

Hmm, i do see only 1 node having storev3. I think this node was in the midst of an upgrade and ran into some issues.
I am not sure if the node is working fine now, because looks like something was done to fix the issue on Friday.
Maybe try again today and see. If not, then either @gabrielmer or @richard-ramos will have an idea.

Also, In order for you to be able to proceed without getting blocked by this, you could use shards.staging fleet to verify as well.

@chaitanyaprem
Copy link
Collaborator

@kaichaosun are you still seeing this issue?

if not, we can close this.

@kaichaosun
Copy link
Contributor Author

We can close it for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

2 participants