public class DefaultSpeculator extends AbstractService implements Speculator
Speculator.EventType
Service.STATE
Constructor and Description |
---|
DefaultSpeculator(Configuration conf,
AppContext context) |
DefaultSpeculator(Configuration conf,
AppContext context,
Clock clock) |
DefaultSpeculator(Configuration conf,
AppContext context,
TaskRuntimeEstimator estimator,
Clock clock) |
Modifier and Type | Method and Description |
---|---|
protected void |
addSpeculativeAttempt(TaskId taskID) |
boolean |
eventQueueEmpty() |
void |
handle(SpeculatorEvent event) |
void |
handleAttempt(TaskAttemptStatusUpdateEvent.TaskAttemptStatus status) |
void |
scanForSpeculations() |
protected void |
serviceStart()
Actions called during the INITED to STARTED transition.
|
protected void |
serviceStop()
Actions called during the transition to the STOPPED state.
|
protected void |
statusUpdate(TaskAttemptStatusUpdateEvent.TaskAttemptStatus reportedStatus,
long timestamp)
Absorbs one TaskAttemptStatus
|
close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, serviceInit, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop
public DefaultSpeculator(Configuration conf, AppContext context)
public DefaultSpeculator(Configuration conf, AppContext context, Clock clock)
public DefaultSpeculator(Configuration conf, AppContext context, TaskRuntimeEstimator estimator, Clock clock)
protected void serviceStart() throws Exception
AbstractService
AbstractService.start()
prevents re-entrancy.serviceStart
in class AbstractService
Exception
- if needed -these will be caught,
wrapped, and trigger a service stopprotected void serviceStop() throws Exception
AbstractService
AbstractService.stop()
prevents re-entrancy.
Implementations MUST write this to be robust against failures, including
checks for null references -and for the first failure to not stop other
attempts to shut down parts of the service.serviceStop
in class AbstractService
Exception
- if needed -these will be caught and logged.public void handleAttempt(TaskAttemptStatusUpdateEvent.TaskAttemptStatus status)
handleAttempt
in interface Speculator
public boolean eventQueueEmpty()
public void scanForSpeculations()
protected void statusUpdate(TaskAttemptStatusUpdateEvent.TaskAttemptStatus reportedStatus, long timestamp)
reportedStatus
- the status report that we got from a task attempt
that we want to fold into the speculation data for this jobtimestamp
- the time this status corresponds to. This matters
because statuses contain progress.protected void addSpeculativeAttempt(TaskId taskID)
public void handle(SpeculatorEvent event)
handle
in interface EventHandler<SpeculatorEvent>
Copyright © 2013 Apache Software Foundation. All rights reserved.