-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
feat: enable DHT Provide Sweep by default #10955
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fd885d0 to
7c8e299
Compare
e1601f3 to
6be27cb
Compare
after conflict resolution, to confirm CI is still green
eb41d89 to
4076744
Compare
8e19bd1 to
e43ec5e
Compare
82e0c30 to
708bcb8
Compare
e8af19b to
6b9ee76
Compare
Member
|
Triage notes
|
Refactor the provider shutdown coordination introduced in b30bc30 to make the dependency relationship more explicit and maintainable. Changes: - combine provider.Close() and keystore.Close() into a single ensureProviderClosesBeforeKeystore fx hook - add detailed documentation explaining the race condition and why this shutdown order is critical - make the code more self-documenting The original fix in b30bc30 correctly solved the "keystore is closed" shutdown errors. This refactor improves code clarity without changing the functional behavior.
Update documentation for metric rename from total_provide_count_total to provider_provides_total (following OpenTelemetry naming conventions). - update metrics.md with new metric name - add v0.39 changelog entry with migration guidance - add v0.38 warnings about the upcoming rename See: libp2p/go-libp2p-kad-dht#1195
Switching to kad-dht with fix from libp2p/go-libp2p-kad-dht#1198
Member
|
updates go-libp2p-kad-dht to include two critical race condition fixes: - SweepingProvider.wg race: protects wait group operations with mutex to prevent panic when Add() is called during Close()/Wait() - ResettableKeystore race: adds semaphore to coordinate datastore writes during Reset() with keystore size persistence during Close() libp2p/go-libp2p-kad-dht#1200 libp2p/go-libp2p-kad-dht#1201
- add overview section - add highlight for Amino DHT Sweep provider becoming default - clarify go-ipfs deprecation (Docker stub mechanism) - update metric rename section (affects all sweep mode users) - unify internal linking format in feature list - improve wording for clarity
- consolidate verbose paragraphs into focused description - remove documentation-level metric list (belongs in docs) - reference --help first, then link to provide-stats.md - update NOTE to reflect sweep is now default - reduce from 37 to 12 lines for better readability
- update opening to reflect sweep is now default - add link to Provide.DHT.ResumeEnabled config docs - improve readability while retaining all information - tighten language for clarity
- resolve changelog conflict by placing Gateway section before go-ipfs - add CDN compatibility note to Gateway.MaxRangeRequestFileSize
- expand config.md with detailed explanation of CDN cache limits - clarify this only affects deserialized responses - add Cloudflare Snippets workaround for open gateway operators - simplify changelog to link to config.md for full details - remove em dashes and improve clarity throughout
lidel
approved these changes
Nov 12, 2025
Member
lidel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @guillaumemichel and @gammazero for all work that went into this.
Staging tests look ok:
- https://github.com/ipshipyard/waterworks-infra/pull/824
- NO ERROR level logs after the PR deployment on any of the impacted boxes
I feel this is good enough for RC1 with Sweep enabled by default.
I'm merging to avoid further merge conflicts. Feel free to refine docs/changelog in follow-up PRs.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
"keystore is closed"errors onipfs shutdown(5d2e6a7)SweepingProvider.wglibp2p/go-libp2p-kad-dht#1200Wider Context