diff --git a/ipfsconn/ipfshttp/ipfshttp.go b/ipfsconn/ipfshttp/ipfshttp.go index 73268d55..e61d9225 100644 --- a/ipfsconn/ipfshttp/ipfshttp.go +++ b/ipfsconn/ipfshttp/ipfshttp.go @@ -431,10 +431,10 @@ func (ipfs *Connector) PinLs(typeFilter string) (map[string]api.IPFSPinStatus, e return statusMap, nil } -// PinLsCid performs a "pin ls "request and returns IPFSPinStatus for -// that hash. +// PinLsCid performs a "pin ls --type=recursive "request and returns +// an api.IPFSPinStatus for that hash. func (ipfs *Connector) PinLsCid(hash *cid.Cid) (api.IPFSPinStatus, error) { - lsPath := fmt.Sprintf("pin/ls?arg=%s", hash) + lsPath := fmt.Sprintf("pin/ls?arg=%s&type=recursive", hash) body, err := ipfs.get(lsPath) // Network error, daemon down diff --git a/pintracker/maptracker/maptracker.go b/pintracker/maptracker/maptracker.go index 2d4ff794..7ff85d61 100644 --- a/pintracker/maptracker/maptracker.go +++ b/pintracker/maptracker/maptracker.go @@ -224,6 +224,7 @@ func (mpt *MapPinTracker) pin(c api.Pin) error { func (mpt *MapPinTracker) unpin(c api.Pin) error { logger.Debugf("issuing unpin call for %s", c.Cid) + mpt.set(c.Cid, api.TrackerStatusUnpinning) err := mpt.rpcClient.Call("", "Cluster", "IPFSUnpin", diff --git a/pintracker/maptracker/maptracker_test.go b/pintracker/maptracker/maptracker_test.go index 834d11cb..224963ba 100644 --- a/pintracker/maptracker/maptracker_test.go +++ b/pintracker/maptracker/maptracker_test.go @@ -108,6 +108,8 @@ func TestUntrack(t *testing.T) { t.Fatal(err) } + time.Sleep(time.Second / 2) + err = mpt.Untrack(h2) if err != nil { t.Fatal(err) @@ -121,7 +123,7 @@ func TestUntrack(t *testing.T) { t.Fatal(err) } - time.Sleep(400 * time.Millisecond) + time.Sleep(time.Second / 2) st := mpt.Status(h1) if st.Status != api.TrackerStatusUnpinned {