Skip to content

Conversation

lidel
Copy link
Member

@lidel lidel commented May 13, 2025

Kubo 0.35.0-rc1 had issues on Staging environment due too OOMs (internal notes).

@guillaumemichel and @gammazero suggested that the problem is related to provides, which should be disabled on that box. This PR aims to implement ability to fully disable provides (and reprovides) as noted in #10803 and unblock Kubo 0.35 (#10760)

TODO

lidel added 2 commits May 13, 2025 20:07
Adds missing config option described in
#10803
removing experiment, replaced with Provider.Enabled
@lidel lidel force-pushed the feat/provider-toggle branch from 2029418 to f28bc86 Compare May 13, 2025 19:16
updated and added tests for manually triggering provide and reprovide
and making them respect global configuration flag to avoid
inconsistent behaviors
@lidel lidel mentioned this pull request May 13, 2025
45 tasks
@lidel lidel changed the title feat(config): Provider.Enable flag feat(config): Provider.Enabled flag May 13, 2025
@lidel lidel changed the title feat(config): Provider.Enabled flag fix(config): wire up Provider.Enabled flag May 13, 2025
@lidel lidel marked this pull request as ready for review May 13, 2025 23:07
@lidel lidel requested a review from a team as a code owner May 13, 2025 23:07
Copy link
Contributor

@guillaumemichel guillaumemichel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just wondering whether we actually want Reprovide.Interval=0 to disable the provide system altogether? (see comments)

lidel added 2 commits May 15, 2025 18:14
- simplified default for both
- 16 is safer for non-accelerated DHT client
- acceletated DHT performs better without limit anyway - updated docs
@lidel
Copy link
Member Author

lidel commented May 15, 2025

Confirmed this PR (mainly, ability to disable provider queue) restores goroutine/memory utilization that is on par or better than v0.34.1 (internal notes from our staging env).

Merging – will include this in 0.35.0-rc2.

@lidel lidel merged commit 2ab3f58 into master May 15, 2025
17 checks passed
@lidel lidel deleted the feat/provider-toggle branch May 15, 2025 17:19
lidel added a commit that referenced this pull request May 15, 2025
* fix(config): explicit Provider.Enabled flag

Adds missing config option described in
#10803

* refactor: remove Experimental.StrategicProviding

removing experiment, replaced with Provider.Enabled

* test(cli): routing [re]provide

updated and added tests for manually triggering provide and reprovide
and making them respect global configuration flag to avoid
inconsistent behaviors

* docs: improve DelegatedRouters

* refactor: default DefaultProviderWorkerCount=16

- simplified default for both
- 16 is safer for non-accelerated DHT client
- acceletated DHT performs better without limit anyway - updated docs

(cherry picked from commit 2ab3f58)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants