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
Describe the bug
When calling the waku_store_query() function from C-bindings without a specific PeerId, it's expected that it would automatically pick a node from the connected list of nodes which supports the Store protocol.
However, the actual behaviour is that the node always chooses one that doesn't support the Store protocol while there are nodes which supports it.
To Reproduce
Steps to reproduce the behavior:
Connect a node to a set of peers which contain supporting and non-supporting Store protocols nodes.
Call waku_store_query() C-bindings function with NULL as peerID parameter.
Observe logs:
Original reproduction:
during the waku_store_query() call the 16Uiu2...G6W3dH node was chosen which doesn't support the Store Protocol
Once the correct PeerId is chosen manually, all is good
i think i know what the issue is, when we leave it for automatic peer-selection the C bindings API uses legacy-store protocol to find a peer and it might be failing because lefacy-store is not enabled.
But when we specify a peerID, it doesn't need to do protocol based selection specifically but rather if it is connected and hence probably it is working. But i am surprised the query is working fine in that case because C bindings API still is using legacy-store.
As a workaround , In your nwaku node, can you enable legacy-store and confirm if it works with automatic peer-selection?
But do note that lefacy-store will be deprecated soon.
Not sure the amount of changes required to upgrade bindings to use new store, especially since we are planning to sunset go-waku.
maybe @richard-ramos can comment on this.
Can you try using the nwaku's c-bindings and confirm if both with and without automatic selection things work fine?
Describe the bug
When calling the waku_store_query() function from C-bindings without a specific PeerId, it's expected that it would automatically pick a node from the connected list of nodes which supports the Store protocol.
However, the actual behaviour is that the node always chooses one that doesn't support the Store protocol while there are nodes which supports it.
To Reproduce
Steps to reproduce the behavior:
Original reproduction:
during the waku_store_query() call the 16Uiu2...G6W3dH node was chosen which doesn't support the Store Protocol
Once the correct PeerId is chosen manually, all is good
The logs and source code of the sample:
go-waku-store-issue.zip
Expected behavior
The store-query node is chosen only from nodes supported Store protocol.
Desktop (please complete the following information):
go-waku version/commit hash
commit-hash: ae42393
Additional context
The bug was reproduced in a private Waku network.
The text was updated successfully, but these errors were encountered: