public long getViewId() { return view.getViewNumber(); } @Override
/** * @see MembershipManager#getViewId() */ public long getViewId() { // take a snap of latest view final NetView v = this.latestView; return v.getViewNumber(); /* if (v != null) { return v.getViewNumber(); } else { // also check for cache being closed GemFireCacheImpl.getExisting().getCancelCriterion() .checkCancelInProgress(null); Exception e = this.shutdownCause; if (e != null) { throw new DistributedSystemDisconnectedException( "Membership services are closed", e); } // the conduit may have been closed if (this.conduit != null) { this.conduit.getCancelCriterion().checkCancelInProgress(null); } // cannot find view and not shutting down throw new InternalGemFireError("JGMM.getViewId: unexpected null View"); } */ }
NetView newView = new NetView(latestView, latestView.getViewNumber()); newView.remove(member); latestView = newView;
return true; if (latestView.getViewNumber() > member.getVmViewId()) { LocalizedStrings.DEBUG, "Membership: Received message from surprise member: <" + member + ">. My view number is " + latestView.getViewNumber() + " its is " + member.getVmViewId()); NetView newMembers = new NetView(latestView, latestView.getViewNumber()); newMembers.add(member); latestView = newMembers;
NetView result = new NetView(v.size(), v.getViewNumber()); result.setCreator(v.getCreator());
Assert.assertTrue("expected view ID to be greater than zero", mgr.getView().getViewNumber() > 0); mbr.setVmViewId((int)mgr.getView().getViewNumber()-1); getLogWriter().info("current membership view is " + mgr.getView()); getLogWriter().info("created ID " + mbr + " with view ID " + mbr.getVmViewId());
public static void send(DistributionManager dm) throws InterruptedException { long viewId = dm.getMembershipManager().getView().getViewNumber(); ReplyProcessor21 rp = new ReplyProcessor21(dm, dm.getOtherDistributionManagerIds()); rp.enableSevereAlertProcessing(); dm.putOutgoing(new WaitForViewInstallation(viewId, rp.getProcessorId())); try { rp.waitForReplies(); } catch (ReplyException e) { if (e.getCause() != null && !(e.getCause() instanceof CancelException)) { if (dm.getLoggerI18n().fineEnabled()) { dm.getLoggerI18n().fine("reply to WaitForViewInstallation received odd exception", e.getCause()); } } } // this isn't necessary for TXFailoverCommand, which is the only use of this // message right now. TXFailoverCommand performs messaging to all servers, // which will force us to wait for the view containing the crash of another // server to be processed. // dm.waitForViewInstallation(viewId); }