logger.trace("Performing ClusterInfoUpdateJob"); final CountDownLatch nodeLatch = updateNodeStats(new ActionListener<NodesStatsResponse>() { @Override public void onResponse(NodesStatsResponse nodeStatses) { final CountDownLatch indicesLatch = updateIndicesStats(new ActionListener<IndicesStatsResponse>() { @Override public void onResponse(IndicesStatsResponse indicesStatsResponse) { ClusterInfo clusterInfo = getClusterInfo(); try { listener.accept(clusterInfo);
@Override public void onResponse(IndicesStatsResponse indicesStatsResponse) { ShardStats[] stats = indicesStatsResponse.getShards(); ImmutableOpenMap.Builder<String, Long> newShardSizes = ImmutableOpenMap.builder(); ImmutableOpenMap.Builder<ShardRouting, String> newShardRoutingToDataPath = ImmutableOpenMap.builder(); buildShardLevelInfo(logger, stats, newShardSizes, newShardRoutingToDataPath, clusterService.state()); shardSizes = newShardSizes.build(); shardRoutingToDataPath = newShardRoutingToDataPath.build(); }
@Override public void onMaster() { this.isMaster = true; if (logger.isTraceEnabled()) { logger.trace("I have been elected master, scheduling a ClusterInfoUpdateJob"); } try { // Submit a job that will start after DEFAULT_STARTING_INTERVAL, and reschedule itself after running threadPool.schedule(updateFrequency, executorName(), new SubmitReschedulingClusterInfoUpdatedJob()); if (clusterService.state().getNodes().getDataNodes().size() > 1) { // Submit an info update job to be run immediately threadPool.executor(executorName()).execute(() -> maybeRefresh()); } } catch (EsRejectedExecutionException ex) { if (logger.isDebugEnabled()) { logger.debug("Couldn't schedule cluster info update task - node might be shutting down", ex); } } }
@Override public void run() { if (logger.isTraceEnabled()) { logger.trace("Submitting new rescheduling cluster info update job"); } try { threadPool.executor(executorName()).execute(() -> { try { maybeRefresh(); } finally { //schedule again after we refreshed if (isMaster) { if (logger.isTraceEnabled()) { logger.trace("Scheduling next run for updating cluster info in: {}", updateFrequency.toString()); } try { threadPool.schedule(updateFrequency, executorName(), this); } catch (EsRejectedExecutionException ex) { logger.debug("Reschedule cluster info service was rejected", ex); } } } }); } catch (EsRejectedExecutionException ex) { if (logger.isDebugEnabled()) { logger.debug("Couldn't re-schedule cluster info update task - node might be shutting down", ex); } } } }
@Override public void onResponse(NodesStatsResponse nodeStatses) { ImmutableOpenMap.Builder<String, DiskUsage> newLeastAvaiableUsages = ImmutableOpenMap.builder(); ImmutableOpenMap.Builder<String, DiskUsage> newMostAvaiableUsages = ImmutableOpenMap.builder(); fillDiskUsagePerNode(logger, nodeStatses.getNodes(), newLeastAvaiableUsages, newMostAvaiableUsages); leastAvailableSpaceUsages = newLeastAvaiableUsages.build(); mostAvailableSpaceUsages = newMostAvaiableUsages.build(); }
private void maybeRefresh() { // Short-circuit if not enabled if (enabled) { refresh(); } else { if (logger.isTraceEnabled()) { logger.trace("Skipping ClusterInfoUpdatedJob since it is disabled"); } } }
@Override public ClusterInfo getClusterInfo() { ClusterInfo clusterInfo = super.getClusterInfo(); return new DevNullClusterInfo(clusterInfo.getNodeLeastAvailableDiskUsages(), clusterInfo.getNodeMostAvailableDiskUsages(), clusterInfo.shardSizes); }
/** Constructs a ClusterInfoService which may be mocked for tests. */ protected ClusterInfoService newClusterInfoService(Settings settings, ClusterService clusterService, ThreadPool threadPool, NodeClient client, Consumer<ClusterInfo> listeners) { return new InternalClusterInfoService(settings, clusterService, threadPool, client, listeners); }
@Override public void run() { if (logger.isTraceEnabled()) { logger.trace("Submitting new rescheduling cluster info update job"); } try { threadPool.executor(executorName()).execute(() -> { try { maybeRefresh(); } finally { //schedule again after we refreshed if (isMaster) { if (logger.isTraceEnabled()) { logger.trace("Scheduling next run for updating cluster info in: {}", updateFrequency.toString()); } try { threadPool.schedule(updateFrequency, executorName(), this); } catch (EsRejectedExecutionException ex) { logger.debug("Reschedule cluster info service was rejected", ex); } } } }); } catch (EsRejectedExecutionException ex) { if (logger.isDebugEnabled()) { logger.debug("Couldn't re-schedule cluster info update task - node might be shutting down", ex); } } } }
@Override public void onResponse(NodesStatsResponse nodeStatses) { Map<String, DiskUsage> newLeastAvaiableUsages = new HashMap<>(); Map<String, DiskUsage> newMostAvaiableUsages = new HashMap<>(); fillDiskUsagePerNode(logger, nodeStatses.getNodes(), newLeastAvaiableUsages, newMostAvaiableUsages); leastAvailableSpaceUsages = Collections.unmodifiableMap(newLeastAvaiableUsages); mostAvailableSpaceUsages = Collections.unmodifiableMap(newMostAvaiableUsages); }
private void maybeRefresh() { // Short-circuit if not enabled if (enabled) { refresh(); } else { if (logger.isTraceEnabled()) { logger.trace("Skipping ClusterInfoUpdatedJob since it is disabled"); } } }
/** Constructs a ClusterInfoService which may be mocked for tests. */ protected ClusterInfoService newClusterInfoService(Settings settings, ClusterService clusterService, ThreadPool threadPool, NodeClient client, Consumer<ClusterInfo> listeners) { return new InternalClusterInfoService(settings, clusterService, threadPool, client, listeners); }
logger.trace("Performing ClusterInfoUpdateJob"); final CountDownLatch nodeLatch = updateNodeStats(new ActionListener<NodesStatsResponse>() { @Override public void onResponse(NodesStatsResponse nodeStatses) { final CountDownLatch indicesLatch = updateIndicesStats(new ActionListener<IndicesStatsResponse>() { @Override public void onResponse(IndicesStatsResponse indicesStatsResponse) { ClusterInfo clusterInfo = getClusterInfo(); try { listener.accept(clusterInfo);
logger.debug("data node was added, retrieving new cluster info"); threadPool.executor(executorName()).execute(() -> maybeRefresh());
@Override public void run() { if (logger.isTraceEnabled()) { logger.trace("Submitting new rescheduling cluster info update job"); } try { threadPool.executor(executorName()).execute(() -> { try { maybeRefresh(); } finally { //schedule again after we refreshed if (isMaster) { if (logger.isTraceEnabled()) { logger.trace("Scheduling next run for updating cluster info in: {}", updateFrequency.toString()); } try { threadPool.schedule(updateFrequency, executorName(), this); } catch (EsRejectedExecutionException ex) { logger.debug("Reschedule cluster info service was rejected", ex); } } } }); } catch (EsRejectedExecutionException ex) { if (logger.isDebugEnabled()) { logger.debug("Couldn't re-schedule cluster info update task - node might be shutting down", ex); } } } }
@Override public void onResponse(NodesStatsResponse nodeStatses) { ImmutableOpenMap.Builder<String, DiskUsage> newLeastAvaiableUsages = ImmutableOpenMap.builder(); ImmutableOpenMap.Builder<String, DiskUsage> newMostAvaiableUsages = ImmutableOpenMap.builder(); fillDiskUsagePerNode(logger, nodeStatses.getNodes(), newLeastAvaiableUsages, newMostAvaiableUsages); leastAvailableSpaceUsages = newLeastAvaiableUsages.build(); mostAvailableSpaceUsages = newMostAvaiableUsages.build(); }
private void maybeRefresh() { // Short-circuit if not enabled if (enabled) { refresh(); } else { if (logger.isTraceEnabled()) { logger.trace("Skipping ClusterInfoUpdatedJob since it is disabled"); } } }
@Override public void onResponse(IndicesStatsResponse indicesStatsResponse) { ShardStats[] stats = indicesStatsResponse.getShards(); final HashMap<String, Long> newShardSizes = new HashMap<>(); final HashMap<ShardRouting, String> newShardRoutingToDataPath = new HashMap<>(); buildShardLevelInfo(logger, stats, newShardSizes, newShardRoutingToDataPath, clusterService.state()); shardSizes = Collections.unmodifiableMap(newShardSizes); shardRoutingToDataPath = Collections.unmodifiableMap(newShardRoutingToDataPath); }
/** Constructs a ClusterInfoService which may be mocked for tests. */ protected ClusterInfoService newClusterInfoService(Settings settings, ClusterService clusterService, ThreadPool threadPool, NodeClient client, Consumer<ClusterInfo> listeners) { return new InternalClusterInfoService(settings, clusterService, threadPool, client, listeners); }
logger.trace("Performing ClusterInfoUpdateJob"); final CountDownLatch nodeLatch = updateNodeStats(new ActionListener<NodesStatsResponse>() { @Override public void onResponse(NodesStatsResponse nodeStatses) { final CountDownLatch indicesLatch = updateIndicesStats(new ActionListener<IndicesStatsResponse>() { @Override public void onResponse(IndicesStatsResponse indicesStatsResponse) { ClusterInfo clusterInfo = getClusterInfo(); try { listener.accept(clusterInfo);