!job.canTrackerBeUsed(trackerName, addr.host, tip) ||
job.isBadSpeculativeResource(tip, trackerName, addr.host);
}
public boolean isResourceNeeded(ResourceGrant grant) {
InetAddress addr = grant.address;
String trackerName = grant.getNodeName();
TaskInProgress tip = requestToTipMap.get(grant.getId());
// 1. If the task is running and we can speculate
// 2. If the task is not running, but is runnable
// 3. If we are about to reuse a tip for something else