feat(pinning): connect some missing go context (#9557)
Co-authored-by: Henrique Dias <hacdias@gmail.com>
Michael Muré committed
Feb 22, 2023 at 16:56 UTC
86da181f7f5ac430cdcf7a9aae194083cf82085d
8 files changed
+29
-13
core/coreapi/block.go
+3
-1
@@ -60,7 +60,9 @@ func (api *BlockAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.Bloc
60
}
61
62
if settings.Pin {
63
- api.pinning.PinWithMode(b.Cid(), pin.Recursive)
63
+ if err = api.pinning.PinWithMode(ctx, b.Cid(), pin.Recursive); err != nil {
64
+ return nil, err
65
+ }
66
if err := api.pinning.Flush(ctx); err != nil {
67
return nil, err
68
}
core/coreapi/dag.go
+8
-3
@@ -7,9 +7,10 @@ import (
7
pin "github.com/ipfs/go-ipfs-pinner"
8
ipld "github.com/ipfs/go-ipld-format"
9
dag "github.com/ipfs/go-merkledag"
10
- "github.com/ipfs/kubo/tracing"
10
"go.opentelemetry.io/otel/attribute"
11
"go.opentelemetry.io/otel/trace"
12
+
13
+ "github.com/ipfs/kubo/tracing"
14
)
15
16
type dagAPI struct {
@@ -29,7 +30,9 @@ func (adder *pinningAdder) Add(ctx context.Context, nd ipld.Node) error {
30
return err
31
}
32
32
- adder.pinning.PinWithMode(nd.Cid(), pin.Recursive)
33
+ if err := adder.pinning.PinWithMode(ctx, nd.Cid(), pin.Recursive); err != nil {
34
+ return err
35
+ }
36
37
return adder.pinning.Flush(ctx)
38
}
@@ -48,7 +51,9 @@ func (adder *pinningAdder) AddMany(ctx context.Context, nds []ipld.Node) error {
51
for _, nd := range nds {
52
c := nd.Cid()
53
if cids.Visit(c) {
51
- adder.pinning.PinWithMode(c, pin.Recursive)
54
+ if err := adder.pinning.PinWithMode(ctx, c, pin.Recursive); err != nil {
55
+ return err
56
+ }
57
}
58
}
59
core/coreapi/object.go
+6
-2
@@ -19,9 +19,10 @@ import (
19
coreiface "github.com/ipfs/interface-go-ipfs-core"
20
caopts "github.com/ipfs/interface-go-ipfs-core/options"
21
ipath "github.com/ipfs/interface-go-ipfs-core/path"
22
- "github.com/ipfs/kubo/tracing"
22
"go.opentelemetry.io/otel/attribute"
23
"go.opentelemetry.io/otel/trace"
24
+
25
+ "github.com/ipfs/kubo/tracing"
26
)
27
28
const inputLimit = 2 << 20
@@ -132,7 +133,10 @@ func (api *ObjectAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.Obj
133
}
134
135
if options.Pin {
135
- api.pinning.PinWithMode(dagnode.Cid(), pin.Recursive)
136
+ if err := api.pinning.PinWithMode(ctx, dagnode.Cid(), pin.Recursive); err != nil {
137
+ return nil, err
138
+ }
139
+
140
err = api.pinning.Flush(ctx)
141
if err != nil {
142
return nil, err
core/coreunix/add.go
+6
-1
@@ -24,6 +24,7 @@ import (
24
"github.com/ipfs/go-unixfs/importer/trickle"
25
coreiface "github.com/ipfs/interface-go-ipfs-core"
26
"github.com/ipfs/interface-go-ipfs-core/path"
27
+
28
"github.com/ipfs/kubo/tracing"
29
)
30
@@ -185,7 +186,11 @@ func (adder *Adder) PinRoot(ctx context.Context, root ipld.Node) error {
186
adder.tempRoot = rnk
187
}
188
188
- adder.pinning.PinWithMode(rnk, pin.Recursive)
189
+ err = adder.pinning.PinWithMode(ctx, rnk, pin.Recursive)
190
+ if err != nil {
191
+ return err
192
+ }
193
+
194
return adder.pinning.Flush(ctx)
195
}
196
docs/examples/kubo-as-a-library/go.mod
+1
-1
@@ -84,7 +84,7 @@ require (
84
github.com/ipfs/go-ipfs-exchange-interface v0.2.0 // indirect
85
github.com/ipfs/go-ipfs-exchange-offline v0.3.0 // indirect
86
github.com/ipfs/go-ipfs-keystore v0.1.0 // indirect
87
- github.com/ipfs/go-ipfs-pinner v0.2.1 // indirect
87
+ github.com/ipfs/go-ipfs-pinner v0.3.0 // indirect
88
github.com/ipfs/go-ipfs-posinfo v0.0.1 // indirect
89
github.com/ipfs/go-ipfs-pq v0.0.3 // indirect
90
github.com/ipfs/go-ipfs-provider v0.8.1 // indirect
docs/examples/kubo-as-a-library/go.sum
+2
-2
@@ -533,8 +533,8 @@ github.com/ipfs/go-ipfs-exchange-offline v0.3.0/go.mod h1:MOdJ9DChbb5u37M1IcbrRB
533
github.com/ipfs/go-ipfs-files v0.0.3/go.mod h1:INEFm0LL2LWXBhNJ2PMIIb2w45hpXgPjNoE7yA8Y1d4=
534
github.com/ipfs/go-ipfs-keystore v0.1.0 h1:gfuQUO/cyGZgZIHE6OrJas4OnwuxXCqJG7tI0lrB5Qc=
535
github.com/ipfs/go-ipfs-keystore v0.1.0/go.mod h1:LvLw7Qhnb0RlMOfCzK6OmyWxICip6lQ06CCmdbee75U=
536
-github.com/ipfs/go-ipfs-pinner v0.2.1 h1:kw9hiqh2p8TatILYZ3WAfQQABby7SQARdrdA+5Z5QfY=
537
-github.com/ipfs/go-ipfs-pinner v0.2.1/go.mod h1:l1AtLL5bovb7opnG77sh4Y10waINz3Y1ni6CvTzx7oo=
536
+github.com/ipfs/go-ipfs-pinner v0.3.0 h1:jwe5ViX3BON3KgOAYrrhav2+1ONB0QzFAWQd7HUlbuM=
537
+github.com/ipfs/go-ipfs-pinner v0.3.0/go.mod h1:oX0I0nC6zlNIh0LslSrUnjfNKPq8ufoFtqV1/wcJvyo=
538
github.com/ipfs/go-ipfs-posinfo v0.0.1 h1:Esoxj+1JgSjX0+ylc0hUmJCOv6V2vFoZiETLR6OtpRs=
539
github.com/ipfs/go-ipfs-posinfo v0.0.1/go.mod h1:SwyeVP+jCwiDu0C313l/8jg6ZxM0qqtlt2a0vILTc1A=
540
github.com/ipfs/go-ipfs-pq v0.0.1/go.mod h1:LWIqQpqfRG3fNc5XsnIhz/wQ2XXGyugQwls7BgUmUfY=
go.mod
+1
-1
@@ -36,7 +36,7 @@ require (
36
github.com/ipfs/go-ipfs-exchange-interface v0.2.0
37
github.com/ipfs/go-ipfs-exchange-offline v0.3.0
38
github.com/ipfs/go-ipfs-keystore v0.1.0
39
- github.com/ipfs/go-ipfs-pinner v0.2.1
39
+ github.com/ipfs/go-ipfs-pinner v0.3.0
40
github.com/ipfs/go-ipfs-posinfo v0.0.1
41
github.com/ipfs/go-ipfs-provider v0.8.1
42
github.com/ipfs/go-ipfs-routing v0.3.0
go.sum
+2
-2
@@ -553,8 +553,8 @@ github.com/ipfs/go-ipfs-exchange-offline v0.3.0/go.mod h1:MOdJ9DChbb5u37M1IcbrRB
553
github.com/ipfs/go-ipfs-files v0.0.3/go.mod h1:INEFm0LL2LWXBhNJ2PMIIb2w45hpXgPjNoE7yA8Y1d4=
554
github.com/ipfs/go-ipfs-keystore v0.1.0 h1:gfuQUO/cyGZgZIHE6OrJas4OnwuxXCqJG7tI0lrB5Qc=
555
github.com/ipfs/go-ipfs-keystore v0.1.0/go.mod h1:LvLw7Qhnb0RlMOfCzK6OmyWxICip6lQ06CCmdbee75U=
556
-github.com/ipfs/go-ipfs-pinner v0.2.1 h1:kw9hiqh2p8TatILYZ3WAfQQABby7SQARdrdA+5Z5QfY=
557
-github.com/ipfs/go-ipfs-pinner v0.2.1/go.mod h1:l1AtLL5bovb7opnG77sh4Y10waINz3Y1ni6CvTzx7oo=
556
+github.com/ipfs/go-ipfs-pinner v0.3.0 h1:jwe5ViX3BON3KgOAYrrhav2+1ONB0QzFAWQd7HUlbuM=
557
+github.com/ipfs/go-ipfs-pinner v0.3.0/go.mod h1:oX0I0nC6zlNIh0LslSrUnjfNKPq8ufoFtqV1/wcJvyo=
558
github.com/ipfs/go-ipfs-posinfo v0.0.1 h1:Esoxj+1JgSjX0+ylc0hUmJCOv6V2vFoZiETLR6OtpRs=
559
github.com/ipfs/go-ipfs-posinfo v0.0.1/go.mod h1:SwyeVP+jCwiDu0C313l/8jg6ZxM0qqtlt2a0vILTc1A=
560
github.com/ipfs/go-ipfs-pq v0.0.1/go.mod h1:LWIqQpqfRG3fNc5XsnIhz/wQ2XXGyugQwls7BgUmUfY=