Merge seen table by starting with empty seen after merge, see #2077

This commit is contained in:
Patrik Nordwall 2012-06-13 11:19:06 +02:00
parent ff5c99a80d
commit f3d9f9c4e8
2 changed files with 14 additions and 2 deletions

View file

@ -240,8 +240,8 @@ case class Gossip(
val mergedMembers = Gossip.emptyMembers ++ reduceHighestPriority(this.members.toSeq, that.members.toSeq).
filterNot(mergedUnreachable.contains)
// 5. merge seen (FIXME is this correct?)
val mergedSeen = this.overview.seen ++ that.overview.seen
// 5. fresh seen table
val mergedSeen = Map.empty[Address, VectorClock]
Gossip(GossipOverview(mergedSeen, mergedUnreachable), mergedMembers, mergedMeta, mergedVClock)
}

View file

@ -73,5 +73,17 @@ class GossipSpec extends WordSpec with MustMatchers {
}
"start with fresh seen table after merge" in {
val g1 = Gossip(members = SortedSet(a1, b1, c1, d1)).seen(a1.address).seen(b1.address)
val g2 = Gossip(members = SortedSet(a2, b2, c2, d2)).seen(b2.address).seen(c2.address)
val merged1 = g1 merge g2
merged1.overview.seen.isEmpty must be(true)
val merged2 = g2 merge g1
merged2.overview.seen.isEmpty must be(true)
}
}
}