Skip to content

Commit

Permalink
try/finally around start flush
Browse files Browse the repository at this point in the history
  • Loading branch information
Vladimir Blagojevic committed Aug 17, 2009
1 parent 4232154 commit 2fc4972
Showing 1 changed file with 18 additions and 14 deletions.
32 changes: 18 additions & 14 deletions src/org/jgroups/protocols/pbcast/CoordGmsImpl.java
@@ -1,4 +1,4 @@
// $Id: CoordGmsImpl.java,v 1.82.2.18 2009/08/11 11:29:03 belaban Exp $
// $Id: CoordGmsImpl.java,v 1.82.2.19 2009/08/17 12:22:10 vlada Exp $

package org.jgroups.protocols.pbcast;

Expand Down Expand Up @@ -195,19 +195,23 @@ public void handleMergeRequest(Address sender, ViewId merge_id) {
//[JGRP-700] - FLUSH: flushing should span merge

/*if flush is in stack, let this coordinator flush its cluster island */
boolean suceesfulFlush = gms.startFlush(view);
if(suceesfulFlush) {
digest=gms.getDigest();
sendMergeResponse(sender, view, digest);
if(log.isDebugEnabled())
log.debug(gms.local_addr + " responded to " + sender + ", merge_id=" + merge_id);
}
else {
sendMergeRejectedResponse(sender, merge_id);
gms.getViewHandler().resume(merge_id);
merging=false;
if(log.isWarnEnabled())
log.warn("Since flush failed at " + gms.local_addr + " rejected merge to "+ sender+ ", merge_id="+ merge_id);
boolean suceesfulFlush = false;
try {
suceesfulFlush = gms.startFlush(view);
} finally {
if (suceesfulFlush) {
digest = gms.getDigest();
sendMergeResponse(sender, view, digest);
if (log.isDebugEnabled())
log.debug(gms.local_addr + " responded to " + sender+ ", merge_id=" + merge_id);
} else {
sendMergeRejectedResponse(sender, merge_id);
gms.getViewHandler().resume(merge_id);
merging = false;
if (log.isWarnEnabled())
log.warn("Since flush failed at " + gms.local_addr + " rejected merge to "
+ sender + ", merge_id=" + merge_id);
}
}
}

Expand Down

0 comments on commit 2fc4972

Please sign in to comment.