Skip to content

Commit d1173f2

Browse files
authored
Merge pull request #449 from ipfs-force-community/fix/query-ask-hang
fix: add timeout for query ask
2 parents ce9c52a + 2876111 commit d1173f2

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

cmd/droplet-client/retrieval.go

+8
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import (
55
"errors"
66
"fmt"
77
"io"
8+
"strings"
9+
"time"
810

911
tm "github.com/buger/goterm"
1012
"github.com/docker/go-units"
@@ -351,8 +353,14 @@ var clientQueryRetrievalAskCmd = &cli.Command{
351353
defer closer()
352354
ctx := cli2.ReqContext(cctx)
353355

356+
ctx, cancel := context.WithTimeout(ctx, time.Second*30)
357+
defer cancel()
358+
354359
ask, err := api.ClientMinerQueryOffer(ctx, maddr, dataCid, nil)
355360
if err != nil {
361+
if strings.Contains(err.Error(), "context by cancel") {
362+
return fmt.Errorf("timeout: %v", err)
363+
}
356364
return err
357365
}
358366

cmd/droplet-client/storage.go

+6
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,9 @@ var storageAsksQueryCmd = &cli.Command{
265265
defer closer()
266266
ctx := cli2.ReqContext(cctx)
267267

268+
ctx, cancel := context.WithTimeout(ctx, time.Second*30)
269+
defer cancel()
270+
268271
var pid peer.ID
269272
if pidstr := cctx.String("peerid"); pidstr != "" {
270273
p, err := peer.Decode(pidstr)
@@ -287,6 +290,9 @@ var storageAsksQueryCmd = &cli.Command{
287290

288291
ask, err := api.ClientQueryAsk(ctx, pid, maddr)
289292
if err != nil {
293+
if strings.Contains(err.Error(), "context by cancel") {
294+
return fmt.Errorf("timeout: %v", err)
295+
}
290296
return err
291297
}
292298

0 commit comments

Comments
 (0)