diff --git a/modules/mesh-recovery/internal/recovery/points.go b/modules/mesh-recovery/internal/recovery/points.go index aa7207074..669c79db7 100644 --- a/modules/mesh-recovery/internal/recovery/points.go +++ b/modules/mesh-recovery/internal/recovery/points.go @@ -130,6 +130,7 @@ func (e *Engine) take(ctx context.Context, a *Act) error { return e.endedFailed(a, err) } p.Digests = append(p.Digests, seat.Digest{Name: o.Stream, Digest: sum}) + p.Names = append(p.Names, o.Stream) p.Size += n p.Consumers = append(p.Consumers, o.Consumers...) if e.filled()+p.Size > e.Settings.Cap { diff --git a/modules/mesh-recovery/internal/recovery/points_test.go b/modules/mesh-recovery/internal/recovery/points_test.go index adef20c49..ca72b7925 100644 --- a/modules/mesh-recovery/internal/recovery/points_test.go +++ b/modules/mesh-recovery/internal/recovery/points_test.go @@ -41,6 +41,10 @@ func TestATakenPointIsListedWithItsDigestsAndEndedUnderItsAct(t *testing.T) { if err != nil || len(pts) != 1 || pts[0].Snapshot != ev.Snapshot { t.Fatalf("points %+v %v", pts, err) } + // A-230: the point says the bus names it took, one per bus object, as its digests name them. + if len(pts[0].Names) != 2 || len(pts[0].Digests) != 2 || pts[0].Names[0] != pts[0].Digests[0].Name || pts[0].Names[1] != pts[0].Digests[1].Name { + t.Errorf("names %v for digests %+v", pts[0].Names, pts[0].Digests) + } if _, ok, _ := r.d.Get("app/notes/2-fp1"); !ok { t.Errorf("no digests on the bus: %v", r.d.m) }