@Override public int getMemberListVersion() { return membershipManager.getMemberListVersion(); }
@Override public int getMemberListVersion() { return membershipManager.getMemberListVersion(); }
private void checkMemberListChange(int initialMemberListVersion) { int currentMemberListVersion = node.getClusterService().getMembershipManager().getMemberListVersion(); if (initialMemberListVersion != currentMemberListVersion) { throw new IllegalStateException("Cluster members changed during state change! " + "Initial version: " + initialMemberListVersion + ", Current version: " + currentMemberListVersion); } }
private void checkMemberListChange(int initialMemberListVersion) { int currentMemberListVersion = node.getClusterService().getMembershipManager().getMemberListVersion(); if (initialMemberListVersion != currentMemberListVersion) { throw new IllegalStateException("Cluster members changed during state change! " + "Initial version: " + initialMemberListVersion + ", Current version: " + currentMemberListVersion); } }
void handleExplicitSuspicionTrigger(Address caller, int callerMemberListVersion, MembersViewMetadata suspectedMembersViewMetadata) { clusterServiceLock.lock(); try { Address masterAddress = clusterService.getMasterAddress(); int memberListVersion = getMemberListVersion(); if (!(masterAddress.equals(caller) && memberListVersion == callerMemberListVersion)) { if (logger.isFineEnabled()) { logger.fine("Ignoring explicit suspicion trigger for " + suspectedMembersViewMetadata + ". Caller: " + caller + ", caller member list version: " + callerMemberListVersion + ", known master: " + masterAddress + ", local member list version: " + memberListVersion); } return; } clusterService.sendExplicitSuspicion(suspectedMembersViewMetadata); } finally { clusterServiceLock.unlock(); } }
void handleExplicitSuspicionTrigger(Address caller, int callerMemberListVersion, MembersViewMetadata suspectedMembersViewMetadata) { clusterServiceLock.lock(); try { Address masterAddress = clusterService.getMasterAddress(); int memberListVersion = getMemberListVersion(); if (!(masterAddress.equals(caller) && memberListVersion == callerMemberListVersion)) { if (logger.isFineEnabled()) { logger.fine("Ignoring explicit suspicion trigger for " + suspectedMembersViewMetadata + ". Caller: " + caller + ", caller member list version: " + callerMemberListVersion + ", known master: " + masterAddress + ", local member list version: " + memberListVersion); } return; } clusterService.sendExplicitSuspicion(suspectedMembersViewMetadata); } finally { clusterServiceLock.unlock(); } }
MembersViewMetadata createLocalMembersViewMetadata() { return new MembersViewMetadata(node.getThisAddress(), clusterService.getThisUuid(), clusterService.getMasterAddress(), getMemberListVersion()); }
MembersViewMetadata createLocalMembersViewMetadata() { return new MembersViewMetadata(node.getThisAddress(), clusterService.getThisUuid(), clusterService.getMasterAddress(), getMemberListVersion()); }
void sendExplicitSuspicionTrigger(Address triggerTo, MembersViewMetadata endpointMembersViewMetadata) { if (triggerTo.equals(node.getThisAddress())) { logger.warning("Cannot send explicit suspicion trigger for " + endpointMembersViewMetadata + " to itself."); return; } int memberListVersion = membershipManager.getMemberListVersion(); Operation op = new TriggerExplicitSuspicionOp(memberListVersion, endpointMembersViewMetadata); OperationService operationService = nodeEngine.getOperationService(); operationService.send(op, triggerTo); }
void sendExplicitSuspicionTrigger(Address triggerTo, MembersViewMetadata endpointMembersViewMetadata) { if (triggerTo.equals(node.getThisAddress())) { logger.warning("Cannot send explicit suspicion trigger for " + endpointMembersViewMetadata + " to itself."); return; } int memberListVersion = membershipManager.getMemberListVersion(); Operation op = new TriggerExplicitSuspicionOp(memberListVersion, endpointMembersViewMetadata); OperationService operationService = nodeEngine.getOperationService(); operationService.send(op, triggerTo); }
private boolean shouldProcessMemberUpdate(MembersView membersView) { int memberListVersion = membershipManager.getMemberListVersion(); if (memberListVersion > membersView.getVersion()) { if (logger.isFineEnabled()) { logger.fine("Received an older member update, ignoring... Current version: " + memberListVersion + ", Received version: " + membersView.getVersion()); } return false; } if (memberListVersion == membersView.getVersion()) { if (ASSERTION_ENABLED) { MemberMap memberMap = membershipManager.getMemberMap(); Collection<Address> currentAddresses = memberMap.getAddresses(); Collection<Address> newAddresses = membersView.getAddresses(); assert currentAddresses.size() == newAddresses.size() && newAddresses.containsAll(currentAddresses) : "Member view versions are same but new member view doesn't match the current!" + " Current: " + memberMap.toMembersView() + ", New: " + membersView; } if (logger.isFineEnabled()) { logger.fine("Received a periodic member update, ignoring... Version: " + memberListVersion); } return false; } return true; }
private boolean shouldProcessMemberUpdate(MembersView membersView) { int memberListVersion = membershipManager.getMemberListVersion(); if (memberListVersion > membersView.getVersion()) { if (logger.isFineEnabled()) { logger.fine("Received an older member update, ignoring... Current version: " + memberListVersion + ", Received version: " + membersView.getVersion()); } return false; } if (memberListVersion == membersView.getVersion()) { if (ASSERTION_ENABLED) { MemberMap memberMap = membershipManager.getMemberMap(); Collection<Address> currentAddresses = memberMap.getAddresses(); Collection<Address> newAddresses = membersView.getAddresses(); assert currentAddresses.size() == newAddresses.size() && newAddresses.containsAll(currentAddresses) : "Member view versions are same but new member view doesn't match the current!" + " Current: " + memberMap.toMembersView() + ", New: " + membersView; } if (logger.isFineEnabled()) { logger.fine("Received a periodic member update, ignoring... Version: " + memberListVersion); } return false; } return true; }
int localMemberListVersion = membershipManager.getMemberListVersion(); Address thisAddress = nodeEngine.getThisAddress();
public SplitBrainJoinMessage createSplitBrainJoinMessage() { MemberImpl localMember = getLocalMember(); boolean liteMember = localMember.isLiteMember(); Collection<Address> memberAddresses = clusterService.getMemberAddresses(); int dataMemberCount = clusterService.getSize(DATA_MEMBER_SELECTOR); Version clusterVersion = clusterService.getClusterVersion(); int memberListVersion = clusterService.getMembershipManager().getMemberListVersion(); return new SplitBrainJoinMessage(Packet.VERSION, buildInfo.getBuildNumber(), version, address, localMember.getUuid(), liteMember, createConfigCheck(), memberAddresses, dataMemberCount, clusterVersion, memberListVersion); }
public SplitBrainJoinMessage createSplitBrainJoinMessage() { MemberImpl localMember = getLocalMember(); boolean liteMember = localMember.isLiteMember(); Collection<Address> memberAddresses = clusterService.getMemberAddresses(); int dataMemberCount = clusterService.getSize(DATA_MEMBER_SELECTOR); Version clusterVersion = clusterService.getClusterVersion(); int memberListVersion = clusterService.getMembershipManager().getMemberListVersion(); return new SplitBrainJoinMessage(Packet.VERSION, buildInfo.getBuildNumber(), version, address, localMember.getUuid(), liteMember, createConfigCheck(), memberAddresses, dataMemberCount, clusterVersion, memberListVersion); }