@Override public List<WorkerInfo> getLostWorkersInfoList() throws UnavailableException { if (mSafeModeManager.isInSafeMode()) { throw new UnavailableException(ExceptionMessage.MASTER_IN_SAFEMODE.getMessage()); } List<WorkerInfo> workerInfoList = new ArrayList<>(mLostWorkers.size()); for (MasterWorkerInfo worker : mLostWorkers) { synchronized (worker) { workerInfoList.add(worker.generateWorkerInfo(null, false)); } } Collections.sort(workerInfoList, new WorkerInfo.LastContactSecComparator()); return workerInfoList; }
/** * Generates capacity report. * * @param options GetWorkerReportOptions to get worker report */ public void generateCapacityReport(GetWorkerReportOptions options) throws IOException { List<WorkerInfo> workerInfoList = mBlockMasterClient.getWorkerReport(options); if (workerInfoList.size() == 0) { print("No workers found."); return; } Collections.sort(workerInfoList, new WorkerInfo.LastContactSecComparator()); collectWorkerInfo(workerInfoList); printAggregatedInfo(options); printWorkerInfo(workerInfoList); }
@Override public List<WorkerInfo> getLostWorkersInfoList() throws UnavailableException { if (mSafeModeManager.isInSafeMode()) { throw new UnavailableException(ExceptionMessage.MASTER_IN_SAFEMODE.getMessage()); } List<WorkerInfo> workerInfoList = new ArrayList<>(mLostWorkers.size()); for (MasterWorkerInfo worker : mLostWorkers) { synchronized (worker) { workerInfoList.add(worker.generateWorkerInfo(null, false)); } } Collections.sort(workerInfoList, new WorkerInfo.LastContactSecComparator()); return workerInfoList; }
private static int compareLostWorkersWithTimes(int time1, int time2) { WorkerInfo.LastContactSecComparator comparator = new WorkerInfo.LastContactSecComparator(); WorkerInfo worker1 = createRandom(); WorkerInfo worker2 = createRandom(); worker1.setLastContactSec(time1); worker2.setLastContactSec(time2); return comparator.compare(worker1, worker2); }