示例#1
0
 @Override
 public void heartbeat() {
   int masterWorkerTimeoutMs = Configuration.getInt(Constants.MASTER_WORKER_TIMEOUT_MS);
   for (MasterWorkerInfo worker : mWorkers) {
     synchronized (worker) {
       final long lastUpdate = CommonUtils.getCurrentMs() - worker.getLastUpdatedTimeMs();
       if (lastUpdate > masterWorkerTimeoutMs) {
         LOG.error(
             "The worker {} timed out after {}ms without a heartbeat!", worker, lastUpdate);
         mLostWorkers.add(worker);
         mWorkers.remove(worker);
         processWorkerRemovedBlocks(worker, worker.getBlocks());
       }
     }
   }
 }