public void run() { Collection<Member> members = clusterService.getMembers(MemberSelectors.NON_LOCAL_MEMBER_SELECTOR); for (Member member : members) { try { runPingTask(member); } catch (Throwable e) { logger.severe(e); } } } }, icmpIntervalMillis, icmpIntervalMillis, TimeUnit.MILLISECONDS);
private boolean isClusterFormedByOnlyLiteMembers() { final ClusterServiceImpl clusterService = node.getClusterService(); return clusterService.getMembers(DATA_MEMBER_SELECTOR).isEmpty(); }
public void run() { Collection<Member> members = clusterService.getMembers(MemberSelectors.NON_LOCAL_MEMBER_SELECTOR); for (Member member : members) { try { runPingTask(member); } catch (Throwable e) { logger.severe(e); } } } }, icmpIntervalMillis, icmpIntervalMillis, TimeUnit.MILLISECONDS);
private boolean isClusterFormedByOnlyLiteMembers() { final ClusterServiceImpl clusterService = node.getClusterService(); return clusterService.getMembers(DATA_MEMBER_SELECTOR).isEmpty(); }
private static boolean isFirstMember(Node node) { Iterator<Member> iterator = node.getClusterService().getMembers().iterator(); return (iterator.hasNext() && iterator.next().localMember()); }
private static boolean isFirstMember(Node node) { Iterator<Member> iterator = node.getClusterService().getMembers().iterator(); return (iterator.hasNext() && iterator.next().localMember()); }
@Override public Map<Address, List<Integer>> getMemberPartitionsMap() { Collection<Member> dataMembers = node.getClusterService().getMembers(DATA_MEMBER_SELECTOR); int dataMembersSize = dataMembers.size(); int partitionsPerMember = (dataMembersSize > 0 ? (int) ceil((float) partitionCount / dataMembersSize) : 0); Map<Address, List<Integer>> memberPartitions = createHashMap(dataMembersSize); for (int partitionId = 0; partitionId < partitionCount; partitionId++) { Address owner = getPartitionOwnerOrWait(partitionId); List<Integer> ownedPartitions = memberPartitions.get(owner); if (ownedPartitions == null) { ownedPartitions = new ArrayList<Integer>(partitionsPerMember); memberPartitions.put(owner, ownedPartitions); } ownedPartitions.add(partitionId); } return memberPartitions; }
@Override public Map<Address, List<Integer>> getMemberPartitionsMap() { Collection<Member> dataMembers = node.getClusterService().getMembers(DATA_MEMBER_SELECTOR); int dataMembersSize = dataMembers.size(); int partitionsPerMember = (dataMembersSize > 0 ? (int) ceil((float) partitionCount / dataMembersSize) : 0); Map<Address, List<Integer>> memberPartitions = createHashMap(dataMembersSize); for (int partitionId = 0; partitionId < partitionCount; partitionId++) { Address owner = getPartitionOwnerOrWait(partitionId); List<Integer> ownedPartitions = memberPartitions.get(owner); if (ownedPartitions == null) { ownedPartitions = new ArrayList<Integer>(partitionsPerMember); memberPartitions.put(owner, ownedPartitions); } ownedPartitions.add(partitionId); } return memberPartitions; }
private Collection<MemberGroup> createMemberGroups() { final Collection<Member> members = node.getClusterService().getMembers(DATA_MEMBER_SELECTOR); return memberGroupFactory.createMemberGroups(members); }
private Collection<MemberGroup> createMemberGroups() { final Collection<Member> members = node.getClusterService().getMembers(DATA_MEMBER_SELECTOR); return memberGroupFactory.createMemberGroups(members); }
private void handleHealthcheck(HttpHeadCommand command) { Node node = textCommandService.getNode(); NodeState nodeState = node.getState(); ClusterServiceImpl clusterService = node.getClusterService(); ClusterState clusterState = clusterService.getClusterState(); int clusterSize = clusterService.getMembers().size(); InternalPartitionService partitionService = node.getPartitionService(); long migrationQueueSize = partitionService.getMigrationQueueSize(); Map<String, Object> headervals = new LinkedHashMap<String, Object>(); headervals.put("NodeState", nodeState); headervals.put("ClusterState", clusterState); headervals.put("MigrationQueueSize", migrationQueueSize); headervals.put("ClusterSize", clusterSize); command.setResponse(headervals); }
private Collection<MemberGroup> createMemberGroups(final Set<Member> excludedMembers) { MemberSelector exclude = new MemberSelector() { @Override public boolean select(Member member) { return !excludedMembers.contains(member); } }; final MemberSelector selector = MemberSelectors.and(DATA_MEMBER_SELECTOR, exclude); final Collection<Member> members = node.getClusterService().getMembers(selector); return memberGroupFactory.createMemberGroups(members); }
private void handleHealthcheck(HttpHeadCommand command) { Node node = textCommandService.getNode(); NodeState nodeState = node.getState(); ClusterServiceImpl clusterService = node.getClusterService(); ClusterState clusterState = clusterService.getClusterState(); int clusterSize = clusterService.getMembers().size(); InternalPartitionService partitionService = node.getPartitionService(); long migrationQueueSize = partitionService.getMigrationQueueSize(); Map<String, Object> headervals = new LinkedHashMap<String, Object>(); headervals.put("NodeState", nodeState); headervals.put("ClusterState", clusterState); headervals.put("MigrationQueueSize", migrationQueueSize); headervals.put("ClusterSize", clusterSize); command.setResponse(headervals); }
private Collection<MemberGroup> createMemberGroups(final Set<Address> excludedAddresses) { MemberSelector exclude = new MemberSelector() { @Override public boolean select(Member member) { return !excludedAddresses.contains(member.getAddress()); } }; final MemberSelector selector = MemberSelectors.and(DATA_MEMBER_SELECTOR, exclude); final Collection<Member> members = node.getClusterService().getMembers(selector); return memberGroupFactory.createMemberGroups(members); }
public byte[] clusterWideUpdateManagementCenterUrl(String newUrl) { try { final Collection<Member> memberList = instance.node.clusterService.getMembers(); for (Member member : memberList) { send(member.getAddress(), new UpdateManagementCenterUrlOperation(newUrl)); } return HttpCommand.RES_204; } catch (Throwable throwable) { logger.warning("New Management Center url cannot be assigned.", throwable); return HttpCommand.RES_500; } }
public String addMembershipListener(MembershipListener listener) { checkNotNull(listener, "listener cannot be null"); EventService eventService = nodeEngine.getEventService(); EventRegistration registration; if (listener instanceof InitialMembershipListener) { lock.lock(); try { ((InitialMembershipListener) listener).init(new InitialMembershipEvent(this, getMembers())); registration = eventService.registerLocalListener(SERVICE_NAME, SERVICE_NAME, listener); } finally { lock.unlock(); } } else { registration = eventService.registerLocalListener(SERVICE_NAME, SERVICE_NAME, listener); } return registration.getId(); }
public String addMembershipListener(MembershipListener listener) { checkNotNull(listener, "listener cannot be null"); EventService eventService = nodeEngine.getEventService(); EventRegistration registration; if (listener instanceof InitialMembershipListener) { lock.lock(); try { ((InitialMembershipListener) listener).init(new InitialMembershipEvent(this, getMembers())); registration = eventService.registerLocalListener(SERVICE_NAME, SERVICE_NAME, listener); } finally { lock.unlock(); } } else { registration = eventService.registerLocalListener(SERVICE_NAME, SERVICE_NAME, listener); } return registration.getId(); }
public byte[] clusterWideUpdateManagementCenterUrl(String groupName, String groupPass, String newUrl) { try { GroupConfig groupConfig = instance.getConfig().getGroupConfig(); if (!(groupConfig.getName().equals(groupName) && groupConfig.getPassword().equals(groupPass))) { return HttpCommand.RES_403; } final Collection<Member> memberList = instance.node.clusterService.getMembers(); for (Member member : memberList) { send(member.getAddress(), new UpdateManagementCenterUrlOperation(newUrl)); } return HttpCommand.RES_204; } catch (Throwable throwable) { logger.warning("New Management Center url cannot be assigned.", throwable); return HttpCommand.RES_500; } }
private void sendPostJoinOperations() { final ClusterServiceImpl clusterService = getService(); final NodeEngineImpl nodeEngine = clusterService.getNodeEngine(); // Post join operations must be lock free; means no locks at all; // no partition locks, no key-based locks, no service level locks! final Operation[] postJoinOperations = nodeEngine.getPostJoinOperations(); if (postJoinOperations != null && postJoinOperations.length > 0) { final OperationService operationService = nodeEngine.getOperationService(); final Collection<Member> members = clusterService.getMembers(); for (Member member : members) { if (!member.localMember()) { OnJoinOp operation = new OnJoinOp(postJoinOperations); operationService.invokeOnTarget(ClusterServiceImpl.SERVICE_NAME, operation, member.getAddress()); } } } }
private void sendPostJoinOperations() { final ClusterServiceImpl clusterService = getService(); final NodeEngineImpl nodeEngine = clusterService.getNodeEngine(); // Post join operations must be lock free; means no locks at all; // no partition locks, no key-based locks, no service level locks! final Operation[] postJoinOperations = nodeEngine.getPostJoinOperations(); if (postJoinOperations != null && postJoinOperations.length > 0) { final OperationService operationService = nodeEngine.getOperationService(); final Collection<Member> members = clusterService.getMembers(); for (Member member : members) { if (!member.localMember()) { OnJoinOp operation = new OnJoinOp(postJoinOperations); operationService.invokeOnTarget(ClusterServiceImpl.SERVICE_NAME, operation, member.getAddress()); } } } }