if(log.isWarnEnabled())
log.warn("digest response has no senders: digest=" + rsp.getDigest());
rsp=null; // just skip the response we guess
continue;
}
MutableDigest tmp_digest=new MutableDigest(rsp.getDigest());
tmp_view=rsp.getView();
if(tmp_view == null) {
if(log.isErrorEnabled())
log.error("JoinRsp has a null view, skipping it");
rsp=null;
}
else {
if(!tmp_digest.contains(gms.local_addr)) {
throw new IllegalStateException("digest returned from " + coord + " with JOIN_RSP does not contain myself (" +
gms.local_addr + "): join response: " + rsp);
}
tmp_digest.incrementHighestDeliveredSeqno(coord); // see DESIGN for details
tmp_digest.seal();
gms.setDigest(tmp_digest);
if(log.isDebugEnabled())
log.debug("[" + gms.local_addr + "]: JoinRsp=" + tmp_view + " [size=" + tmp_view.size() + "]\n\n");