提交 e49df7bf 作者: Jeromy

pinner now requires all nodes exist in blockstore

上级 d9783d99
...@@ -175,7 +175,6 @@ func (p *pinner) pinLinks(node *mdag.Node) error { ...@@ -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) { ...@@ -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) { ...@@ -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 {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论