@Override public int getMemberListJoinVersion() { lock.lock(); try { if (!isJoined()) { throw new IllegalStateException("Member list join version is not available when not joined"); } int joinVersion = localMember.getMemberListJoinVersion(); if (joinVersion == NA_MEMBER_LIST_JOIN_VERSION) { // This can happen when the cluster was just upgraded to 3.10, but this member did not yet learn // its node ID by an async call from master. throw new IllegalStateException("Member list join version is not yet available"); } return joinVersion; } finally { lock.unlock(); } }
@Override public int getMemberListJoinVersion() { lock.lock(); try { if (!isJoined()) { throw new IllegalStateException("Member list join version is not available when not joined"); } int joinVersion = localMember.getMemberListJoinVersion(); if (joinVersion == NA_MEMBER_LIST_JOIN_VERSION) { // This can happen when the cluster was just upgraded to 3.10, but this member did not yet learn // its node ID by an async call from master. throw new IllegalStateException("Member list join version is not yet available"); } return joinVersion; } finally { lock.unlock(); } }
public MemberInfo(MemberImpl member) { this(member.getAddress(), member.getUuid(), member.getAttributes(), member.isLiteMember(), member.getVersion(), member.getMemberListJoinVersion()); }
public MemberInfo(MemberImpl member) { this(member.getAddress(), member.getUuid(), member.getAttributes(), member.isLiteMember(), member.getVersion(), member.getMemberListJoinVersion()); }
MemberImpl promoteAndGetLocalMember() { MemberImpl member = getLocalMember(); assert member.isLiteMember() : "Local member is not lite member!"; assert lock.isHeldByCurrentThread() : "Called without holding cluster service lock!"; localMember = new MemberImpl(member.getAddress(), member.getVersion(), true, member.getUuid(), member.getAttributes(), false, member.getMemberListJoinVersion(), node.hazelcastInstance); node.loggingService.setThisMember(localMember); return localMember; }
void setLocalMemberListJoinVersion(int memberListJoinVersion) { MemberImpl localMember = clusterService.getLocalMember(); if (memberListJoinVersion != NA_MEMBER_LIST_JOIN_VERSION) { localMember.setMemberListJoinVersion(memberListJoinVersion); if (logger.isFineEnabled()) { logger.fine("Local member list join version is set to " + memberListJoinVersion); } } else if (logger.isFineEnabled()) { logger.fine("No member list join version is available during join. Local member list join version: " + localMember.getMemberListJoinVersion()); } }
MemberImpl promoteAndGetLocalMember() { MemberImpl member = getLocalMember(); assert member.isLiteMember() : "Local member is not lite member!"; assert lock.isHeldByCurrentThread() : "Called without holding cluster service lock!"; localMember = new MemberImpl(member.getAddress(), member.getVersion(), true, member.getUuid(), member.getAttributes(), false, member.getMemberListJoinVersion(), node.hazelcastInstance); node.loggingService.setThisMember(localMember); return localMember; }
void setLocalMemberListJoinVersion(int memberListJoinVersion) { MemberImpl localMember = clusterService.getLocalMember(); if (memberListJoinVersion != NA_MEMBER_LIST_JOIN_VERSION) { localMember.setMemberListJoinVersion(memberListJoinVersion); if (logger.isFineEnabled()) { logger.fine("Local member list join version is set to " + memberListJoinVersion); } } else if (logger.isFineEnabled()) { logger.fine("No member list join version is available during join. Local member list join version: " + localMember.getMemberListJoinVersion()); } }
private void resetLocalMemberUuid() { assert lock.isHeldByCurrentThread() : "Called without holding cluster service lock!"; assert !isJoined() : "Cannot reset local member UUID when joined."; Address address = getThisAddress(); String newUuid = UuidUtil.createMemberUuid(address); logger.warning("Resetting local member UUID. Previous: " + localMember.getUuid() + ", new: " + newUuid); MemberImpl memberWithNewUuid = new MemberImpl(address, localMember.getVersion(), true, newUuid, localMember.getAttributes(), localMember.isLiteMember(), localMember.getMemberListJoinVersion(), node.hazelcastInstance); localMember = memberWithNewUuid; node.loggingService.setThisMember(localMember); }
private void resetLocalMemberUuid() { assert lock.isHeldByCurrentThread() : "Called without holding cluster service lock!"; assert !isJoined() : "Cannot reset local member UUID when joined."; Address address = getThisAddress(); String newUuid = UuidUtil.createMemberUuid(address); logger.warning("Resetting local member UUID. Previous: " + localMember.getUuid() + ", new: " + newUuid); MemberImpl memberWithNewUuid = new MemberImpl(address, localMember.getVersion(), true, newUuid, localMember.getAttributes(), localMember.isLiteMember(), localMember.getMemberListJoinVersion(), node.hazelcastInstance); localMember = memberWithNewUuid; node.loggingService.setThisMember(localMember); }
private MemberImpl createNewMemberImplIfChanged(MemberInfo newMemberInfo, MemberImpl member) { if (member.isLiteMember() && !newMemberInfo.isLiteMember()) { // lite member promoted logger.info(member + " is promoted to normal member."); if (member.localMember()) { member = clusterService.promoteAndGetLocalMember(); } else { member = createMember(newMemberInfo, member.getAttributes()); } } else if (member.getMemberListJoinVersion() != newMemberInfo.getMemberListJoinVersion()) { if (member.getMemberListJoinVersion() != NA_MEMBER_LIST_JOIN_VERSION) { if (logger.isFineEnabled()) { logger.fine("Member list join version of " + member + " is changed to " + newMemberInfo.getMemberListJoinVersion() + " from " + member.getMemberListJoinVersion()); } } if (member.localMember()) { setLocalMemberListJoinVersion(newMemberInfo.getMemberListJoinVersion()); member = clusterService.getLocalMember(); } else { member = createMember(newMemberInfo, member.getAttributes()); } } return member; }
private MemberImpl createNewMemberImplIfChanged(MemberInfo newMemberInfo, MemberImpl member) { if (member.isLiteMember() && !newMemberInfo.isLiteMember()) { // lite member promoted logger.info(member + " is promoted to normal member."); if (member.localMember()) { member = clusterService.promoteAndGetLocalMember(); } else { member = createMember(newMemberInfo, member.getAttributes()); } } else if (member.getMemberListJoinVersion() != newMemberInfo.getMemberListJoinVersion()) { if (member.getMemberListJoinVersion() != NA_MEMBER_LIST_JOIN_VERSION) { if (logger.isFineEnabled()) { logger.fine("Member list join version of " + member + " is changed to " + newMemberInfo.getMemberListJoinVersion() + " from " + member.getMemberListJoinVersion()); } } if (member.localMember()) { setLocalMemberListJoinVersion(newMemberInfo.getMemberListJoinVersion()); member = clusterService.getLocalMember(); } else { member = createMember(newMemberInfo, member.getAttributes()); } } return member; }
} else { member = new MemberImpl(member.getAddress(), member.getVersion(), member.localMember(), member.getUuid(), member.getAttributes(), false, members[i].getMemberListJoinVersion(), node.hazelcastInstance);
} else { member = new MemberImpl(member.getAddress(), member.getVersion(), member.localMember(), member.getUuid(), member.getAttributes(), false, members[i].getMemberListJoinVersion(), node.hazelcastInstance);