public void handleMergeCancelled(MergeId merge_id) { try { gms.stopFlush(); } catch(Throwable t) { log.error(Util.getMessage("StopFlushFailed"), t.getMessage()); } log.trace("%s: merge %s is cancelled", gms.local_addr, merge_id); cancelMerge(merge_id); }
public void run() { // 1. Generate merge_id final MergeId new_merge_id=MergeId.create(gms.local_addr); final Collection<Address> coordsCopy=new ArrayList<>(coords.keySet()); long start=System.currentTimeMillis(); try { _run(new_merge_id, coordsCopy); // might remove members from coordsCopy } catch(Throwable ex) { if(ex instanceof Error || ex instanceof RuntimeException) log.warn(gms.local_addr + ": merge is cancelled", ex); else log.warn("%s: merge is cancelled: %s", gms.local_addr, ex.getMessage()); sendMergeCancelledMessage(coordsCopy, new_merge_id); cancelMerge(new_merge_id); // the message above cancels the merge, too, but this is a 2nd line of defense } finally { /* 5. if flush is in stack stop the flush for entire cluster [JGRP-700] - FLUSH: flushing should span merge */ if(gms.flushProtocolInStack) gms.stopFlush(); thread=null; } long diff=System.currentTimeMillis() - start; log.debug("%s: merge %s took %d ms", gms.local_addr, new_merge_id, diff); }
gms.getDownProtocol().down(new Event(Event.RESUME_STABLE)); if(!joinAndStateTransferInitiated && useFlushIfPresent) gms.stopFlush(); if(self_leaving)
public void handleMergeCancelled(MergeId merge_id) { try { gms.stopFlush(); } catch(Throwable t) { log.error(Util.getMessage("StopFlushFailed"), t.getMessage()); } log.trace("%s: merge %s is cancelled", gms.local_addr, merge_id); cancelMerge(merge_id); }
stopFlush(firstReq.view);
public void run() { // 1. Generate merge_id final MergeId new_merge_id=MergeId.create(gms.local_addr); final Collection<Address> coordsCopy=new ArrayList<>(coords.keySet()); long start=System.currentTimeMillis(); try { _run(new_merge_id, coordsCopy); // might remove members from coordsCopy } catch(Throwable ex) { if(ex instanceof Error || ex instanceof RuntimeException) log.warn(gms.local_addr + ": merge is cancelled", ex); else log.warn("%s: merge is cancelled: %s", gms.local_addr, ex.getMessage()); sendMergeCancelledMessage(coordsCopy, new_merge_id); cancelMerge(new_merge_id); // the message above cancels the merge, too, but this is a 2nd line of defense } finally { /* 5. if flush is in stack stop the flush for entire cluster [JGRP-700] - FLUSH: flushing should span merge */ if(gms.flushProtocolInStack) gms.stopFlush(); thread=null; } long diff=System.currentTimeMillis() - start; log.debug("%s: merge %s took %d ms", gms.local_addr, new_merge_id, diff); }
gms.getDownProtocol().down(new Event(Event.RESUME_STABLE)); if(gms.flushProtocolInStack) gms.stopFlush(new_view); if(leaving) {
gms.getDownProtocol().down(new Event(Event.RESUME_STABLE)); if(!joinAndStateTransferInitiated && useFlushIfPresent) gms.stopFlush(); if(self_leaving)