ipfs / kubo

An IPFS implementation in Go
https://docs.ipfs.tech/how-to/command-line-quick-start/
Other
16.2k stars 3.03k forks source link

Integrate/expose go-libp2p resource manager #8761

Closed BigLep closed 2 years ago

BigLep commented 2 years ago

go-libp2p v18 is shipping with a resource manager - yahoo! This issue encompasses the work to fully land this as a feature exposed to go-ipfs users. This includes:

Total 2022-04-01 estimate: 12 (rounded up from 11.5)

Note: doing the configuration part will be easier once config is moved back into go-ipfs: https://github.com/ipfs/go-ipfs-config/issues/151

BigLep commented 2 years ago

Assigned to @marten-seemann currently since he is doing some of the initial work. He'll ultimately need a go-ipfs partner for landing these changes and tieing up anything else.

BigLep commented 2 years ago

@guseggert : I put you as the owner now give you're doing the long-pole work of finding any landmines from production deployments. This should be prioritized first, and while collecting data we can work on https://github.com/ipfs/go-ipfs/issues/8858

BigLep commented 2 years ago

2022-05-12 conversation: we're looking good. Deployments to other banks is happening in https://github.com/protocol/bifrost-infra/issues/1815.

Resolving for now. We'll engage if Bifrost raises any issues as they continue to deploy.

lidel commented 2 years ago

@BigLep I assumed we are reopening this due to:

lmk if I missed anything

BigLep commented 2 years ago

2022-09-27:

https://github.com/ipfs/kubo/blob/master/core/node/libp2p/rcmgr_defaults.go#L21

ajnavarro commented 2 years ago

@BigLep may the notion link be wrong?

BigLep commented 2 years ago

@ajnavarro : doh - fixed - https://github.com/libp2p/go-libp2p/blob/master/p2p/host/resource-manager/README.md#usage

BigLep commented 2 years ago

2022-09-29:

BigLep commented 2 years ago

@ajnavarro : FYI that I've been updating the checklist and status based on what I know. I just added two items:

  1. Confirm that the system scope limits protect nodes (and not just the peer scope limits) per https://github.com/ipfs/kubo/pull/9338#issuecomment-1310542225
  2. On by default: This should show up in https://github.com/ipfs/kubo/blob/master/docs/changelogs/v0.17.md
ajnavarro commented 2 years ago

@BigLep see my comment here related to point 1: https://github.com/ipfs/kubo/pull/9338#issuecomment-1311654109

BigLep commented 2 years ago

Reported issues we need to address:

  1. https://github.com/ipfs/kubo/issues/9406
  2. https://github.com/ipfs/kubo/issues/9405
ajnavarro commented 2 years ago

@BigLep see PR #9407

BigLep commented 2 years ago

@ajnavarro : for changelog and other doc updates, see https://github.com/ipfs/kubo/pull/9413 . I know you were going to take the changelog, but I jumped in here while thinking about other doc improvements we should make. Feel free to make any changes and merge the PR so the RC can be cut.

Also, I think we Bifrost Gateway configuration should simplify to this: https://github.com/protocol/bifrost-infra/issues/1815#issuecomment-1316651157

BigLep commented 2 years ago

@ajnavarro : I assume this is possible but I also don't recall seeing it: how does someone learn what limits are actually passed to libp2p. I know we have ipfs swarm stats all to get current usage, but I want to be able to see what the limits are. I don't see any logging for it in https://github.com/ipfs/kubo/blob/master/core/node/libp2p/rcmgr.go#L32

ajnavarro commented 2 years ago

@BigLep ipfs swarm limit all

BigLep commented 2 years ago

@ajnavarro : thanks. I made a docs update here: https://github.com/ipfs/kubo/pull/9421

BigLep commented 2 years ago

@ajnavarro : I created a tracking issue for the critical followups we need to do: https://github.com/ipfs/kubo/issues/9442

Please go ahead and edit/update with the workstreams.