From 5eae6dd8cdbe21592b5a90aec33ca266a2cdece3 Mon Sep 17 00:00:00 2001 From: guillaumemichel Date: Thu, 23 Oct 2025 11:00:27 +0200 Subject: [PATCH] refactor: sweep provider datastore --- core/node/provider.go | 7 +++++-- docs/examples/kubo-as-a-library/go.mod | 2 +- docs/examples/kubo-as-a-library/go.sum | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- test/dependencies/go.mod | 2 +- test/dependencies/go.sum | 4 ++-- 7 files changed, 14 insertions(+), 11 deletions(-) diff --git a/core/node/provider.go b/core/node/provider.go index 180cd1848..2ac83e039 100644 --- a/core/node/provider.go +++ b/core/node/provider.go @@ -14,6 +14,7 @@ import ( "github.com/ipfs/boxo/provider" "github.com/ipfs/go-cid" "github.com/ipfs/go-datastore" + "github.com/ipfs/go-datastore/namespace" "github.com/ipfs/go-datastore/query" "github.com/ipfs/kubo/config" "github.com/ipfs/kubo/repo" @@ -314,10 +315,10 @@ func SweepingProviderOpt(cfg *config.Config) fx.Option { Repo repo.Repo } sweepingReprovider := fx.Provide(func(in providerInput) (DHTProvider, *keystore.ResettableKeystore, error) { - ds := in.Repo.Datastore() + ds := namespace.Wrap(in.Repo.Datastore(), datastore.NewKey("provider")) ks, err := keystore.NewResettableKeystore(ds, keystore.WithPrefixBits(16), - keystore.WithDatastorePath("/provider/keystore"), + keystore.WithDatastorePath("/keystore"), keystore.WithBatchSize(int(cfg.Provide.DHT.KeystoreBatchSize.WithDefault(config.DefaultProvideDHTKeystoreBatchSize))), ) if err != nil { @@ -360,6 +361,7 @@ func SweepingProviderOpt(cfg *config.Config) fx.Option { if inDht != nil { prov, err := ddhtprovider.New(inDht, ddhtprovider.WithKeystore(ks), + ddhtprovider.WithDatastore(ds), ddhtprovider.WithResumeCycle(cfg.Provide.DHT.ResumeEnabled.WithDefault(config.DefaultProvideDHTResumeEnabled)), ddhtprovider.WithReprovideInterval(reprovideInterval), @@ -394,6 +396,7 @@ func SweepingProviderOpt(cfg *config.Config) fx.Option { } opts := []dhtprovider.Option{ dhtprovider.WithKeystore(ks), + dhtprovider.WithDatastore(ds), dhtprovider.WithResumeCycle(cfg.Provide.DHT.ResumeEnabled.WithDefault(config.DefaultProvideDHTResumeEnabled)), dhtprovider.WithPeerID(impl.Host().ID()), dhtprovider.WithRouter(impl), diff --git a/docs/examples/kubo-as-a-library/go.mod b/docs/examples/kubo-as-a-library/go.mod index 7068a7cf6..38416309c 100644 --- a/docs/examples/kubo-as-a-library/go.mod +++ b/docs/examples/kubo-as-a-library/go.mod @@ -115,7 +115,7 @@ require ( github.com/libp2p/go-doh-resolver v0.5.0 // indirect github.com/libp2p/go-flow-metrics v0.3.0 // indirect github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect - github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251022071003-5b8fefc2a212 // indirect + github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251023085242-285b061d3033 // indirect github.com/libp2p/go-libp2p-kbucket v0.8.0 // indirect github.com/libp2p/go-libp2p-pubsub v0.14.2 // indirect github.com/libp2p/go-libp2p-pubsub-router v0.6.0 // indirect diff --git a/docs/examples/kubo-as-a-library/go.sum b/docs/examples/kubo-as-a-library/go.sum index f9e8193b0..bd5283f2b 100644 --- a/docs/examples/kubo-as-a-library/go.sum +++ b/docs/examples/kubo-as-a-library/go.sum @@ -430,8 +430,8 @@ github.com/libp2p/go-libp2p-asn-util v0.4.1 h1:xqL7++IKD9TBFMgnLPZR6/6iYhawHKHl9 github.com/libp2p/go-libp2p-asn-util v0.4.1/go.mod h1:d/NI6XZ9qxw67b4e+NgpQexCIiFYJjErASrYW4PFDN8= github.com/libp2p/go-libp2p-core v0.2.4/go.mod h1:STh4fdfa5vDYr0/SzYYeqnt+E6KfEV5VxfIrm0bcI0g= github.com/libp2p/go-libp2p-core v0.3.0/go.mod h1:ACp3DmS3/N64c2jDzcV429ukDpicbL6+TrrxANBjPGw= -github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251022071003-5b8fefc2a212 h1:IRHtplmaPn7NBdOfLg7PjzzGDaRRTCpnOD4BGuMH0B0= -github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251022071003-5b8fefc2a212/go.mod h1:aHMTg23iseX9grGSfA5gFUzLrqzmYbA8PqgGPqM8VkI= +github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251023085242-285b061d3033 h1:9oXl4OJn3ykSpxL7fOcQuZmJ0ZycvCHQWJCT9GAZO1s= +github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251023085242-285b061d3033/go.mod h1:aHMTg23iseX9grGSfA5gFUzLrqzmYbA8PqgGPqM8VkI= github.com/libp2p/go-libp2p-kbucket v0.3.1/go.mod h1:oyjT5O7tS9CQurok++ERgc46YLwEpuGoFq9ubvoUOio= github.com/libp2p/go-libp2p-kbucket v0.8.0 h1:QAK7RzKJpYe+EuSEATAaaHYMYLkPDGC18m9jxPLnU8s= github.com/libp2p/go-libp2p-kbucket v0.8.0/go.mod h1:JMlxqcEyKwO6ox716eyC0hmiduSWZZl6JY93mGaaqc4= diff --git a/go.mod b/go.mod index a63f5c0f9..8ed501de5 100644 --- a/go.mod +++ b/go.mod @@ -53,7 +53,7 @@ require ( github.com/libp2p/go-doh-resolver v0.5.0 github.com/libp2p/go-libp2p v0.44.0 github.com/libp2p/go-libp2p-http v0.5.0 - github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251022071003-5b8fefc2a212 + github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251023085242-285b061d3033 github.com/libp2p/go-libp2p-kbucket v0.8.0 github.com/libp2p/go-libp2p-pubsub v0.14.2 github.com/libp2p/go-libp2p-pubsub-router v0.6.0 diff --git a/go.sum b/go.sum index 157c0d560..b72181d3a 100644 --- a/go.sum +++ b/go.sum @@ -514,8 +514,8 @@ github.com/libp2p/go-libp2p-gostream v0.6.0 h1:QfAiWeQRce6pqnYfmIVWJFXNdDyfiR/qk github.com/libp2p/go-libp2p-gostream v0.6.0/go.mod h1:Nywu0gYZwfj7Jc91PQvbGU8dIpqbQQkjWgDuOrFaRdA= github.com/libp2p/go-libp2p-http v0.5.0 h1:+x0AbLaUuLBArHubbbNRTsgWz0RjNTy6DJLOxQ3/QBc= github.com/libp2p/go-libp2p-http v0.5.0/go.mod h1:glh87nZ35XCQyFsdzZps6+F4HYI6DctVFY5u1fehwSg= -github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251022071003-5b8fefc2a212 h1:IRHtplmaPn7NBdOfLg7PjzzGDaRRTCpnOD4BGuMH0B0= -github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251022071003-5b8fefc2a212/go.mod h1:aHMTg23iseX9grGSfA5gFUzLrqzmYbA8PqgGPqM8VkI= +github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251023085242-285b061d3033 h1:9oXl4OJn3ykSpxL7fOcQuZmJ0ZycvCHQWJCT9GAZO1s= +github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251023085242-285b061d3033/go.mod h1:aHMTg23iseX9grGSfA5gFUzLrqzmYbA8PqgGPqM8VkI= github.com/libp2p/go-libp2p-kbucket v0.3.1/go.mod h1:oyjT5O7tS9CQurok++ERgc46YLwEpuGoFq9ubvoUOio= github.com/libp2p/go-libp2p-kbucket v0.8.0 h1:QAK7RzKJpYe+EuSEATAaaHYMYLkPDGC18m9jxPLnU8s= github.com/libp2p/go-libp2p-kbucket v0.8.0/go.mod h1:JMlxqcEyKwO6ox716eyC0hmiduSWZZl6JY93mGaaqc4= diff --git a/test/dependencies/go.mod b/test/dependencies/go.mod index cff929d5d..2eab2a062 100644 --- a/test/dependencies/go.mod +++ b/test/dependencies/go.mod @@ -184,7 +184,7 @@ require ( github.com/libp2p/go-flow-metrics v0.3.0 // indirect github.com/libp2p/go-libp2p v0.44.0 // indirect github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect - github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251022071003-5b8fefc2a212 // indirect + github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251023085242-285b061d3033 // indirect github.com/libp2p/go-libp2p-kbucket v0.8.0 // indirect github.com/libp2p/go-libp2p-record v0.3.1 // indirect github.com/libp2p/go-libp2p-routing-helpers v0.7.5 // indirect diff --git a/test/dependencies/go.sum b/test/dependencies/go.sum index 5732d6079..78fda567d 100644 --- a/test/dependencies/go.sum +++ b/test/dependencies/go.sum @@ -462,8 +462,8 @@ github.com/libp2p/go-libp2p v0.44.0 h1:5Gtt8OrF8yiXmH+Mx4+/iBeFRMK1TY3a8OrEBDEqA github.com/libp2p/go-libp2p v0.44.0/go.mod h1:NovCojezAt4dnDd4fH048K7PKEqH0UFYYqJRjIIu8zc= github.com/libp2p/go-libp2p-asn-util v0.4.1 h1:xqL7++IKD9TBFMgnLPZR6/6iYhawHKHl950SO9L6n94= github.com/libp2p/go-libp2p-asn-util v0.4.1/go.mod h1:d/NI6XZ9qxw67b4e+NgpQexCIiFYJjErASrYW4PFDN8= -github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251022071003-5b8fefc2a212 h1:IRHtplmaPn7NBdOfLg7PjzzGDaRRTCpnOD4BGuMH0B0= -github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251022071003-5b8fefc2a212/go.mod h1:aHMTg23iseX9grGSfA5gFUzLrqzmYbA8PqgGPqM8VkI= +github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251023085242-285b061d3033 h1:9oXl4OJn3ykSpxL7fOcQuZmJ0ZycvCHQWJCT9GAZO1s= +github.com/libp2p/go-libp2p-kad-dht v0.35.2-0.20251023085242-285b061d3033/go.mod h1:aHMTg23iseX9grGSfA5gFUzLrqzmYbA8PqgGPqM8VkI= github.com/libp2p/go-libp2p-kbucket v0.8.0 h1:QAK7RzKJpYe+EuSEATAaaHYMYLkPDGC18m9jxPLnU8s= github.com/libp2p/go-libp2p-kbucket v0.8.0/go.mod h1:JMlxqcEyKwO6ox716eyC0hmiduSWZZl6JY93mGaaqc4= github.com/libp2p/go-libp2p-record v0.3.1 h1:cly48Xi5GjNw5Wq+7gmjfBiG9HCzQVkiZOUZ8kUl+Fg=