code: synchronized public List<List<String>> taskTrackerNames() {
      List<String> activeTrackers =
        new ArrayList<String>();
      List<String> blacklistedTrackers =
        new ArrayList<String>();
      synchronized (taskTrackers) {
        for (TaskTracker tt : taskTrackers.values()) {
          TaskTrackerStatus status = tt.getStatus();
          if (!faultyTrackers.isBlacklisted(status.getHost())) {
            activeTrackers.add(status.getTrackerName());
          } else {
            blacklistedTrackers.add(status.getTrackerName());
          }
        }
      }
      List<List<String>> result = new ArrayList<List<String>>(2);
      result.add(activeTrackers);
      result.add(blacklistedTrackers);
      return result;
    }
docs: lock" is under JobTracker lock to avoid deadlocks.