org.apache.oozie.command.coord
Class CoordActionInputCheckXCommand

java.lang.Object
  extended by org.apache.oozie.command.XCommand<T>
      extended by org.apache.oozie.command.coord.CoordinatorXCommand<Void>
          extended by org.apache.oozie.command.coord.CoordActionInputCheckXCommand
All Implemented Interfaces:
Callable<Void>, XCallable<Void>

public class CoordActionInputCheckXCommand
extends CoordinatorXCommand<Void>

The command to check if an action's data input paths exist in the file system.


Field Summary
static String CONF_COORD_INPUT_CHECK_REQUEUE_INTERVAL
          Property name of command re-queue interval for coordinator action input check in milliseconds.
 
Fields inherited from class org.apache.oozie.command.XCommand
DEFAULT_LOCK_TIMEOUT, DEFAULT_REQUEUE_DELAY, dryrun, eventService, instrumentation, INSTRUMENTATION_GROUP, LOG, logInfo
 
Constructor Summary
CoordActionInputCheckXCommand(String actionId, String jobId)
           
 
Method Summary
protected  boolean checkInput(StringBuilder actionXml, StringBuilder existList, StringBuilder nonExistList, org.apache.hadoop.conf.Configuration conf)
          To check the list of input paths if all of them exist
protected  boolean checkUnResolvedInput(StringBuilder actionXml, org.apache.hadoop.conf.Configuration conf)
           
protected  Void execute()
          Command execution body.
protected  String getCoordActionErrorCode()
          getting the error code of the coord action.
protected  String getCoordActionErrorMsg()
          getting the error message of the coord action.
 long getCoordInputCheckRequeueInterval()
          This function reads the value of re-queue interval for coordinator input check command from the Oozie configuration provided by Configuration Service.
 String getEntityKey()
          Return the entity key for the command.
 String getKey()
          Get command key
protected  boolean isLockRequired()
          Indicate if the the command requires locking.
protected  void loadState()
          Load the necessary state to perform the precondition check and to execute the command.
protected  boolean pathExists(String sPath, org.apache.hadoop.conf.Configuration actionConf, String user)
          Check if given path exists
protected  void verifyPrecondition()
          Verify the precondition for the command after a lock has been obtain, just before executing the command.
 
Methods inherited from class org.apache.oozie.command.coord.CoordinatorXCommand
generateEvent, generateEvent
 
Methods inherited from class org.apache.oozie.command.XCommand
call, eagerLoadState, eagerVerifyPrecondition, executeInterrupts, getCreatedTime, getInstrumentation, getLockTimeOut, getLog, getName, getPriority, getRequeueDelay, getType, inInterruptMode, isReQueueRequired, queue, queue, resetUsed, setInterruptMode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONF_COORD_INPUT_CHECK_REQUEUE_INTERVAL

public static final String CONF_COORD_INPUT_CHECK_REQUEUE_INTERVAL
Property name of command re-queue interval for coordinator action input check in milliseconds.

See Also:
Constant Field Values
Constructor Detail

CoordActionInputCheckXCommand

public CoordActionInputCheckXCommand(String actionId,
                                     String jobId)
Method Detail

execute

protected Void execute()
                throws CommandException
Description copied from class: XCommand
Command execution body.

This method will be invoked after the {link #loadState} and {link #verifyPrecondition} methods.

If the command requires locking, this method will be invoked ONLY if the lock has been acquired.

Specified by:
execute in class XCommand<Void>
Returns:
a return value from the execution of the command, only meaningful if the command is executed synchronously.
Throws:
CommandException - thrown if the command execution failed.

getCoordInputCheckRequeueInterval

public long getCoordInputCheckRequeueInterval()
This function reads the value of re-queue interval for coordinator input check command from the Oozie configuration provided by Configuration Service. If nothing defined in the configuration, it uses the code specified default value.

Returns:
re-queue interval in ms

checkInput

protected boolean checkInput(StringBuilder actionXml,
                             StringBuilder existList,
                             StringBuilder nonExistList,
                             org.apache.hadoop.conf.Configuration conf)
                      throws Exception
To check the list of input paths if all of them exist

Parameters:
actionXml - action xml
existList - the list of existed paths
nonExistList - the list of non existed paths
conf - action configuration
Returns:
true if all input paths are existed
Throws:
Exception - thrown of unable to check input path

checkUnResolvedInput

protected boolean checkUnResolvedInput(StringBuilder actionXml,
                                       org.apache.hadoop.conf.Configuration conf)
                                throws Exception
Throws:
Exception

pathExists

protected boolean pathExists(String sPath,
                             org.apache.hadoop.conf.Configuration actionConf,
                             String user)
                      throws IOException
Check if given path exists

Parameters:
sPath - uri path
actionConf - action configuration
Returns:
true if path exists
Throws:
IOException - thrown if unable to access the path

getCoordActionErrorCode

protected String getCoordActionErrorCode()
getting the error code of the coord action. (used mainly for unit testing)


getCoordActionErrorMsg

protected String getCoordActionErrorMsg()
getting the error message of the coord action. (used mainly for unit testing)


getEntityKey

public String getEntityKey()
Description copied from class: XCommand
Return the entity key for the command.

Specified by:
getEntityKey in interface XCallable<Void>
Specified by:
getEntityKey in class XCommand<Void>
Returns:
the entity key for the command.

isLockRequired

protected boolean isLockRequired()
Description copied from class: XCommand
Indicate if the the command requires locking.

Subclasses should override this method if they require locking.

Specified by:
isLockRequired in class XCommand<Void>
Returns:
true/false

loadState

protected void loadState()
                  throws CommandException
Description copied from class: XCommand
Load the necessary state to perform the precondition check and to execute the command.

Subclasses must implement this method and load the state needed to do the precondition check and execute the command.

Specified by:
loadState in class XCommand<Void>
Throws:
CommandException

verifyPrecondition

protected void verifyPrecondition()
                           throws CommandException,
                                  PreconditionException
Description copied from class: XCommand
Verify the precondition for the command after a lock has been obtain, just before executing the command.

Specified by:
verifyPrecondition in class XCommand<Void>
Throws:
CommandException - thrown if the precondition is not met.
PreconditionException

getKey

public String getKey()
Description copied from class: XCommand
Get command key

Specified by:
getKey in interface XCallable<Void>
Overrides:
getKey in class XCommand<Void>
Returns:
command key


Copyright © 2013 Apache Software Foundation. All Rights Reserved.