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

bug: Filter subscriptions are not stable and missing messages #2139

Open
weboko opened this issue Sep 17, 2024 · 2 comments · May be fixed by #2137
Open

bug: Filter subscriptions are not stable and missing messages #2139

weboko opened this issue Sep 17, 2024 · 2 comments · May be fixed by #2137
Assignees
Labels
bug Something isn't working

Comments

@weboko
Copy link
Collaborator

weboko commented Sep 17, 2024

This is a bug report/feature request/support request/change request

Problem

TBD

Proposed Solutions

Notes

@weboko weboko added the bug Something isn't working label Sep 17, 2024
@weboko
Copy link
Collaborator Author

weboko commented Sep 17, 2024

@danisharora099 to update description and share info about the problem and findings

@danisharora099
Copy link
Collaborator

danisharora099 commented Sep 18, 2024

Further investigations lead to observation of:

waku:error:filter:v2 Error with receiving pipe +4s CodeError: stream reset
    at MplexStream.reset (index.js:25309:21)
    at MplexStreamMuxer._handleIncoming (index.js:25717:28)
    at MplexStreamMuxer.sink (index.js:25624:36)
    at async Promise.all (index 0)

It's possible that this is caused by Mplex not being able to handle the muxing; more about Yamux:

Yamux natively supports flow control, it is better suited for applications that require the transfer of large amounts of data.
Until recently, the reason mplex was still supported was compatibility with js-libp2p, which didn’t have yamux support. Now that js-libp2p has gained yamux support, mplex should only be used to provide backward-compatibility with legacy nodes.

Mplex does not have backpressure, this means if you send more data than the other peer is able to receive (on one stream, cross stream still have TCP backpressure) the stream will Reset itself due to a buffer overflow

This could make sense considering it's in the beginning, Filter works well. It's only after it's received some data, does it start to error. And then we observe Stream Reset errors.

@danisharora099 danisharora099 changed the title bug: Fitler subscriptions are not stable and missing messages bug: Filter subscriptions are not stable and missing messages Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

2 participants