-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
feat: increase default Reprovider.Interval #9326
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
Linking here the PR libp2p/go-libp2p-kad-dht#793 to increase the expiration time of the PRs to |
Some feedback from our triage discussion:
|
config/init.go
Outdated
Interval: "22h", | ||
Strategy: "all", |
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.
If we want this change to be effective and applied to older nodes, this needs both a refactor and a config migration.
- Both fields defined in
Lines 4 to 5 in 83b3ec4
Interval string // Time period to reprovide locally stored objects to the network Strategy string // Which keys to announce
should be replaced withoptionalString
variants, and the implicit default should no longer be hardcoded in user config – see prior art in refactor(config): remove Swarm.ConnMgr defaults #8913 - Config migration should be added, and it should migrate users running with default values to implicit defaults
- If Interval = 12h and Strategy = all, then remove both from config (switch to implicit default added in step 1)
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.
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.
I could take a look at it if that is okey for you, will come back if there are any questions :)
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.
923630e
to
e929378
Compare
Switched fields to optional, which simplified some code. Let's see if CI passes. Remaining work here (@lidel)
|
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.
This is ready for 0.18 #9417 – migrations will continue without blocking this PR (draft in ipfs/fs-repo-migrations#161)
This allows us to adjust default in new release if user did not specify their own value.
e929378
to
05f56a1
Compare
This updates docs to match new values from #9326
This updates docs to match new values from #9326
Description
This PR aims to increase
kubo
's default republish interval from12h
to22h
based on RFM17 as discussed in libp2p/specs#451.Motivation
The measurements from RFM17 were surprising and promising for the steady provider record's liveness gathered in the IPFS live network. Based on the average of 70% of online PR holders and 70% of PR holders being among the 20 closest peers for over +48 hours, we suggest increasing the republish interval for the CIDs and extending the expiration time to help reduce part of the overhead that providing large sets of CIDs implies.
Why 22 hours?
Since the current
expiration time
for the PR is set to24h
, setting it to22h
will give enough margin to providers to publish the PR again before they expire.Note: this PR will be twined with one at
go-libp2p-kad-dht
to extend theexpiration time
Modifications
Reprovider.Interval
from12h
->22h