Skip to content

Resource Limit Exceeds #219

@ehsan6sha

Description

@ehsan6sha

On mobile, it seems when doing push (and maybe it is the same for pull but not yet shown), it seems the opened streams are not closed properly and kept open as it show the following error in the middle of upload, no matter how low we set the rate limiter (even as low as 5, it just postpones the error):

Failed to send push request     {"err": "Post \"libp2p://12D3KooWD3nNJtfNgRWhZf6FgFhrq8H7NBhziPAZpqzK1RycjgBt/push/bafyr4ihjzf4mbigxn75iavbdvtw7co6thcry6rncswanrvdjra5xtzf3ha\": failed to open stream: stream-3570: transient: cannot reserve outbound stream: resource limit exceeded"}

In the error htere is mention to stream number 3570 and it increases on the first fail. So it increases the number and continu giving hte same error after it first fails on around 3400

The issue is probably around this part:

func (e *FxExchange) pushOneNode(ctx context.Context, node ipld.Node, to peer.ID, link datamodel.Link) error {

I tried adding a circuit breaker to it and also removing the resource manager on mobile to temporarily resolve this but it is not a long term solution and I suspect we will have the same issue with pull too

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions