public void reportAssimilationFailure(final PhysicalNetworkLocation addr) {
updatePeerInfo(addr, new Function<TrPeerManager.TrPeerInfo, Void>() {
public Void apply(final TrPeerInfo peerInfo) {
final Assimilation a = peerInfo.assimilation;
a.successRate.sample(false);
a.lastFailureTime = System.currentTimeMillis();
// If we've tried it three times, and it failed more than half
// the time, let's get rid of it
if (a.successRate.total > 3 && a.successRate.get() < 0.5) {