|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.oozie.action.ActionExecutor
public abstract class ActionExecutor
Base action executor class.
All the action executors should extend this class.
Nested Class Summary | |
---|---|
static interface |
ActionExecutor.Context
Context information passed to the ActionExecutor methods. |
Field Summary | |
---|---|
static String |
CONF_PREFIX
Configuration prefix for action executor (sub-classes) properties. |
static String |
ERROR_OTHER
Error code used by convertException(java.lang.Exception) when there is not register error information for an exception. |
static String |
MAX_RETRIES
|
boolean |
requiresNNJT
|
static long |
RETRY_INTERVAL
Define the default inteval in seconds between retries. |
Constructor Summary | |
---|---|
protected |
ActionExecutor(String type)
Create an action executor with default retry parameters. |
protected |
ActionExecutor(String type,
long retryInterval)
Create an action executor. |
Method Summary | |
---|---|
abstract void |
check(ActionExecutor.Context context,
org.apache.oozie.client.WorkflowAction action)
Check if an action has completed. |
protected ActionExecutorException |
convertException(Exception ex)
Utility method to handle exceptions in the start(org.apache.oozie.action.ActionExecutor.Context, org.apache.oozie.client.WorkflowAction) , end(org.apache.oozie.action.ActionExecutor.Context, org.apache.oozie.client.WorkflowAction) , kill(org.apache.oozie.action.ActionExecutor.Context, org.apache.oozie.client.WorkflowAction) and check(org.apache.oozie.action.ActionExecutor.Context, org.apache.oozie.client.WorkflowAction) methods
It uses the error registry to convert exceptions to ActionExecutorException s. |
static void |
disableInit()
Disable action type initialization. |
static void |
enableInit()
Enable action type initialization. |
abstract void |
end(ActionExecutor.Context context,
org.apache.oozie.client.WorkflowAction action)
End an action after it has executed. |
org.apache.hadoop.fs.Path |
getActionDir(String jobId,
org.apache.oozie.client.WorkflowAction action,
String key,
boolean temp)
Return the path that will be used to store action specific data. |
protected String |
getActionDirPath(String jobId,
org.apache.oozie.client.WorkflowAction action,
String key,
boolean temp)
Return the path that will be used to store action specific data |
protected String |
getActionSignal(org.apache.oozie.client.WorkflowAction.Status status)
Convenience method that return the signal for an Action based on the action status. |
int |
getMaxRetries()
Return the maximum number of retries for the action executor. |
org.apache.hadoop.conf.Configuration |
getOozieConf()
Return Oozie configuration. |
String |
getOozieRuntimeDir()
Return the runtime directory of the Oozie instance. |
String |
getOozieSystemId()
Return the system ID, this ID is defined in Oozie configuration. |
long |
getRetryInterval()
Return the retry interval for the action executor in seconds. |
String |
getType()
Return the action executor type. |
void |
initActionType()
Invoked once at system initialization time. |
abstract boolean |
isCompleted(String externalStatus)
Return if the external status indicates that the action has completed. |
abstract void |
kill(ActionExecutor.Context context,
org.apache.oozie.client.WorkflowAction action)
Kill an action. |
protected void |
registerError(String exClass,
ActionExecutorException.ErrorType errorType,
String errorCode)
Register error handling information for an exception. |
static void |
resetInitInfo()
Clear all init settings for all action types. |
void |
setMaxRetries(int maxRetries)
Set the maximum number of retries for the action executor. |
void |
setRetryInterval(long retryInterval)
Sets the retry interval for the action executor. |
abstract void |
start(ActionExecutor.Context context,
org.apache.oozie.client.WorkflowAction action)
Start an action. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String CONF_PREFIX
public static final String MAX_RETRIES
public static final String ERROR_OTHER
convertException(java.lang.Exception)
when there is not register error information for an exception.
public boolean requiresNNJT
public static final long RETRY_INTERVAL
Constructor Detail |
---|
protected ActionExecutor(String type)
type
- action executor type.protected ActionExecutor(String type, long retryInterval)
type
- action executor type.retryAttempts
- retry attempts.retryInterval
- retry interval, in seconds.Method Detail |
---|
public static void resetInitInfo()
public static void enableInit()
public static void disableInit()
public void initActionType()
registerError(java.lang.String, org.apache.oozie.action.ActionExecutorException.ErrorType, java.lang.String)
method to register
all its possible errors. Subclasses overriding must invoke super.
public String getOozieSystemId()
public String getOozieRuntimeDir()
public org.apache.hadoop.conf.Configuration getOozieConf()
protected void registerError(String exClass, ActionExecutorException.ErrorType errorType, String errorCode)
exClass
- excpetion class name (to work in case of a particular exception not being in the classpath, needed
to be able to handle multiple version of Hadoop or other JARs used by executors with the same codebase).errorType
- error type for the exception.errorCode
- error code for the exception.public String getType()
public int getMaxRetries()
public void setMaxRetries(int maxRetries)
maxRetries
- the maximum number of retries.public long getRetryInterval()
public void setRetryInterval(long retryInterval)
retryInterval
- retry interval in seconds.protected ActionExecutorException convertException(Exception ex)
start(org.apache.oozie.action.ActionExecutor.Context, org.apache.oozie.client.WorkflowAction)
, end(org.apache.oozie.action.ActionExecutor.Context, org.apache.oozie.client.WorkflowAction)
, kill(org.apache.oozie.action.ActionExecutor.Context, org.apache.oozie.client.WorkflowAction)
and check(org.apache.oozie.action.ActionExecutor.Context, org.apache.oozie.client.WorkflowAction)
methods
It uses the error registry to convert exceptions to ActionExecutorException
s.
ex
- exception to convert.
protected String getActionSignal(org.apache.oozie.client.WorkflowAction.Status status)
status
- action status.
protected String getActionDirPath(String jobId, org.apache.oozie.client.WorkflowAction action, String key, boolean temp)
jobId
- Worfklow IDaction
- Actionkey
- An Identifiertemp
- temp directory flag
public org.apache.hadoop.fs.Path getActionDir(String jobId, org.apache.oozie.client.WorkflowAction action, String key, boolean temp)
jobId
- Workflow IDaction
- Actionkey
- An identifiertemp
- Temp directory flag
public abstract void start(ActionExecutor.Context context, org.apache.oozie.client.WorkflowAction action) throws ActionExecutorException
ActionExecutor.Context.setStartData(java.lang.String, java.lang.String, java.lang.String)
method must be called within this method. If the
action has completed, the ActionExecutor.Context.setExecutionData(java.lang.String, java.util.Properties)
method must be called within this method.
context
- executor context.action
- the action to start.
ActionExecutorException
- thrown if the action could not start.public abstract void end(ActionExecutor.Context context, org.apache.oozie.client.WorkflowAction action) throws ActionExecutorException
ActionExecutor.Context.setEndData(org.apache.oozie.client.WorkflowAction.Status, java.lang.String)
method must be called within this
method.
context
- executor context.action
- the action to end.
ActionExecutorException
- thrown if the action could not end.public abstract void check(ActionExecutor.Context context, org.apache.oozie.client.WorkflowAction action) throws ActionExecutorException
ActionExecutor.Context.setExecutionData(java.lang.String, java.util.Properties)
method must be called within this method. If the action
has not completed, the ActionExecutor.Context.setExternalStatus(java.lang.String)
method must be called within this method.
context
- executor context.action
- the action to end.
ActionExecutorException
- thrown if the action could not be checked.public abstract void kill(ActionExecutor.Context context, org.apache.oozie.client.WorkflowAction action) throws ActionExecutorException
ActionExecutor.Context.setEndData(org.apache.oozie.client.WorkflowAction.Status, java.lang.String)
method must be called within this method.
context
- executor context.action
- the action to kill.
ActionExecutorException
- thrown if the action could not be killed.public abstract boolean isCompleted(String externalStatus)
externalStatus
- external status to check.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |