mirror of
https://github.com/ipfs/kubo.git
synced 2025-09-11 23:46:39 +08:00
pinner now requires all nodes exist in blockstore
This commit is contained in:
@ -175,7 +175,6 @@ func (p *pinner) pinLinks(node *mdag.Node) error {
|
|||||||
ctx, _ := context.WithTimeout(context.Background(), time.Second*60)
|
ctx, _ := context.WithTimeout(context.Background(), time.Second*60)
|
||||||
for _, ng := range p.dserv.GetDAG(ctx, node) {
|
for _, ng := range p.dserv.GetDAG(ctx, node) {
|
||||||
subnode, err := ng.Get()
|
subnode, err := ng.Get()
|
||||||
//subnode, err := l.GetNode(p.dserv)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// TODO: Maybe just log and continue?
|
// TODO: Maybe just log and continue?
|
||||||
return err
|
return err
|
||||||
|
@ -34,6 +34,10 @@ func TestPinnerBasic(t *testing.T) {
|
|||||||
p := NewPinner(dstore, dserv)
|
p := NewPinner(dstore, dserv)
|
||||||
|
|
||||||
a, ak := randNode()
|
a, ak := randNode()
|
||||||
|
_, err = dserv.Add(a)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
// Pin A{}
|
// Pin A{}
|
||||||
err = p.Pin(a, false)
|
err = p.Pin(a, false)
|
||||||
@ -45,18 +49,30 @@ func TestPinnerBasic(t *testing.T) {
|
|||||||
t.Fatal("Failed to find key")
|
t.Fatal("Failed to find key")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// create new node c, to be indirectly pinned through b
|
||||||
|
c, ck := randNode()
|
||||||
|
_, err = dserv.Add(c)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create new node b, to be parent to a and c
|
||||||
b, _ := randNode()
|
b, _ := randNode()
|
||||||
err = b.AddNodeLink("child", a)
|
err = b.AddNodeLink("child", a)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
c, ck := randNode()
|
|
||||||
err = b.AddNodeLink("otherchild", c)
|
err = b.AddNodeLink("otherchild", c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_, err = dserv.Add(b)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
// recursively pin B{A,C}
|
// recursively pin B{A,C}
|
||||||
err = p.Pin(b, true)
|
err = p.Pin(b, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user