org.globus.exec.service.exec
Class StateMachine

java.lang.Object
  extended byorg.globus.exec.service.exec.StateMachine

public class StateMachine
extends java.lang.Object


Field Summary
(package private) static org.globus.util.I18n i18n
           
(package private) static org.apache.commons.logging.Log logger
          Log4J logger
private static PerformanceLog performanceLogger
          Performance Logger
private static UsageConfig usageConfig
          Usage Config
 
Constructor Summary
private StateMachine()
           
 
Method Summary
private static boolean allJobProcessesAreActive(ManagedExecutableJobResource resource)
           
private static boolean allJobProcessesAreDone(ManagedExecutableJobResource resource)
           
private static boolean allJobProcessesHaveResumed(ManagedExecutableJobResource resource)
           
private static boolean cacheCleanUp(ManagedExecutableJobResource resource)
           
private static void cancel(ManagedExecutableJobResource resource, java.lang.String cancelFlagName, boolean addToRunQueue)
           
private static FaultType createFaultFromErrorCode(ManagedExecutableJobResource resource, ScriptCommandEnumeration scriptCommand, int errorCode)
           
private static FaultType createFaultFromErrorCode(ManagedExecutableJobResource resource, ScriptCommandEnumeration scriptCommand, int errorCode, java.lang.String failureMessage)
           
private static FaultType createStagingFault(ManagedExecutableJobResource resource, StagingTypeEnumeration stagingType, java.lang.Exception cause)
           
private static FaultType createStagingHoldFault(ManagedExecutableJobResource resource, StagingTypeEnumeration stagingType)
           
private static boolean fileCleanUp(ManagedExecutableJobResource resource)
           
static java.lang.String getLoggingPrefix(ManagedExecutableJobResource resource)
           
static java.lang.String getLoggingPrefix(ResourceKey resourceKey)
           
(package private) static void init()
           
protected static void insertNotifiedJobData(ManagedExecutableJobResource resource, java.lang.String jobId, StateEnumeration state)
           
protected static boolean isNotifiedJobData(ManagedExecutableJobResource resource)
           
private static void kill(ManagedExecutableJobResource resource)
           
(package private) static void localJobStateChanged(ManagedExecutableJobResource resource, java.lang.String jobId, java.util.Date timeStamp, StateEnumeration state, int exitCode)
           
private static void logJobAccepted(ManagedExecutableJobResource resource)
           
private static void logJobFailed(ManagedExecutableJobResource resource)
           
private static void logJobSucceeded(ManagedExecutableJobResource resource)
           
private static void processActiveHoldState(ManagedExecutableJobResource resource)
           
private static void processCacheCleanUpState(ManagedExecutableJobResource resource)
           
private static void processCleanUpHoldState(ManagedExecutableJobResource resource)
           
private static void processCleanUpState(ManagedExecutableJobResource resource)
           
private static boolean processCompletedStagingJob(ManagedExecutableJobResource resource, org.globus.rft.generated.RequestStatusType status, InternalStateEnumeration nextState)
           
private static void processDoneHoldState(ManagedExecutableJobResource resource)
           
private static void processDoneState(ManagedExecutableJobResource resource)
           
private static void processFailedHoldState(ManagedExecutableJobResource resource)
           
private static void processFailedState(ManagedExecutableJobResource resource)
           
private static void processFailureCacheCleanUpState(ManagedExecutableJobResource resource)
           
private static void processFailureFileCleanUpResponseState(ManagedExecutableJobResource resource)
           
private static void processFailureFileCleanUpState(ManagedExecutableJobResource resource)
           
private static void processFileCleanUpResponseState(ManagedExecutableJobResource resource)
           
private static void processFileCleanUpState(ManagedExecutableJobResource resource)
           
private static void processMergeStdoutState(ManagedExecutableJobResource resource)
           
private static void processNewState(ManagedExecutableJobResource resource, InternalStateEnumeration newInternalState, boolean addToRunQueue)
           
private static void processNoneState(ManagedExecutableJobResource resource)
           
private static void processOpenStderrState(ManagedExecutableJobResource resource)
           
private static void processOpenStdoutState(ManagedExecutableJobResource resource)
           
private static void processPendingHoldState(ManagedExecutableJobResource resource)
           
private static void processRestartState(ManagedExecutableJobResource resource)
           
private static void processResumeState(ManagedExecutableJobResource resource)
           
private static void processStageInHoldState(ManagedExecutableJobResource resource)
           
private static void processStageInResponseState(ManagedExecutableJobResource resource)
           
private static void processStageInState(ManagedExecutableJobResource resource)
           
private static void processStageOutHoldState(ManagedExecutableJobResource resource)
           
private static void processStageOutResponseState(ManagedExecutableJobResource resource)
           
private static void processStageOutState(ManagedExecutableJobResource resource)
           
private static void processStartState(ManagedExecutableJobResource resource)
           
(package private) static void processState(ResourceKey resourceKey)
           
private static void processSubmitState(ManagedExecutableJobResource resource)
           
private static void processSuspendedHoldState(ManagedExecutableJobResource resource)
           
private static void processSuspendState(ManagedExecutableJobResource resource)
           
private static void processSystemCancelState(ManagedExecutableJobResource resource)
           
private static void processUnsubmittedHoldState(ManagedExecutableJobResource resource)
           
private static void processUserCancelState(ManagedExecutableJobResource resource)
           
private static void processWaitingForStateChangesState(ManagedExecutableJobResource resource)
           
(package private) static void release(ManagedExecutableJobResource resource)
           
protected static JobIdStatePairType removeNotifiedJobData(ManagedExecutableJobResource resource)
           
protected static JobManagerScript runScript(ManagedExecutableJobResource resource, ScriptCommandEnumeration scriptCommand)
          Run a job manager script to interface with the local scheduling system.
private static void sendUsagePacket(ManagedExecutableJobResource resource)
           
protected static void setLocalJobId(ManagedExecutableJobResource resource, java.lang.String localJobId, StateEnumeration state)
           
(package private) static void subscribeAtJobStateMonitor(ManagedExecutableJobResource resource)
           
(package private) static void systemCancel(ManagedExecutableJobResource resource)
           
static void systemCancel(ManagedExecutableJobResource resource, java.lang.String errorMessage, java.lang.Exception cause)
           
(package private) static void unsubscribeAtJobStateMonitor(ManagedExecutableJobResource resource)
           
(package private) static void userCancel(ManagedExecutableJobResource resource)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

i18n

static org.globus.util.I18n i18n

logger

static org.apache.commons.logging.Log logger
Log4J logger


performanceLogger

private static PerformanceLog performanceLogger
Performance Logger


usageConfig

private static UsageConfig usageConfig
Usage Config

Constructor Detail

StateMachine

private StateMachine()
Method Detail

init

static void init()

processState

static void processState(ResourceKey resourceKey)
                  throws ResourceException
Throws:
ResourceException

userCancel

static void userCancel(ManagedExecutableJobResource resource)

systemCancel

public static void systemCancel(ManagedExecutableJobResource resource,
                                java.lang.String errorMessage,
                                java.lang.Exception cause)

systemCancel

static void systemCancel(ManagedExecutableJobResource resource)

cancel

private static void cancel(ManagedExecutableJobResource resource,
                           java.lang.String cancelFlagName,
                           boolean addToRunQueue)

localJobStateChanged

static void localJobStateChanged(ManagedExecutableJobResource resource,
                                 java.lang.String jobId,
                                 java.util.Date timeStamp,
                                 StateEnumeration state,
                                 int exitCode)

release

static void release(ManagedExecutableJobResource resource)

processUnsubmittedHoldState

private static void processUnsubmittedHoldState(ManagedExecutableJobResource resource)

processNoneState

private static void processNoneState(ManagedExecutableJobResource resource)

processStartState

private static void processStartState(ManagedExecutableJobResource resource)

processRestartState

private static void processRestartState(ManagedExecutableJobResource resource)

processStageInHoldState

private static void processStageInHoldState(ManagedExecutableJobResource resource)

processStageInState

private static void processStageInState(ManagedExecutableJobResource resource)

processStageInResponseState

private static void processStageInResponseState(ManagedExecutableJobResource resource)

processPendingHoldState

private static void processPendingHoldState(ManagedExecutableJobResource resource)

processActiveHoldState

private static void processActiveHoldState(ManagedExecutableJobResource resource)

processSubmitState

private static void processSubmitState(ManagedExecutableJobResource resource)

processOpenStdoutState

private static void processOpenStdoutState(ManagedExecutableJobResource resource)

processOpenStderrState

private static void processOpenStderrState(ManagedExecutableJobResource resource)

processWaitingForStateChangesState

private static void processWaitingForStateChangesState(ManagedExecutableJobResource resource)

processMergeStdoutState

private static void processMergeStdoutState(ManagedExecutableJobResource resource)

processStageOutHoldState

private static void processStageOutHoldState(ManagedExecutableJobResource resource)

processStageOutState

private static void processStageOutState(ManagedExecutableJobResource resource)

processStageOutResponseState

private static void processStageOutResponseState(ManagedExecutableJobResource resource)

processCleanUpHoldState

private static void processCleanUpHoldState(ManagedExecutableJobResource resource)

processCleanUpState

private static void processCleanUpState(ManagedExecutableJobResource resource)

processUserCancelState

private static void processUserCancelState(ManagedExecutableJobResource resource)

processSystemCancelState

private static void processSystemCancelState(ManagedExecutableJobResource resource)

processFileCleanUpState

private static void processFileCleanUpState(ManagedExecutableJobResource resource)

processFileCleanUpResponseState

private static void processFileCleanUpResponseState(ManagedExecutableJobResource resource)

processFailureFileCleanUpState

private static void processFailureFileCleanUpState(ManagedExecutableJobResource resource)

processFailureFileCleanUpResponseState

private static void processFailureFileCleanUpResponseState(ManagedExecutableJobResource resource)

processCacheCleanUpState

private static void processCacheCleanUpState(ManagedExecutableJobResource resource)

processFailureCacheCleanUpState

private static void processFailureCacheCleanUpState(ManagedExecutableJobResource resource)

sendUsagePacket

private static void sendUsagePacket(ManagedExecutableJobResource resource)

processDoneHoldState

private static void processDoneHoldState(ManagedExecutableJobResource resource)

processDoneState

private static void processDoneState(ManagedExecutableJobResource resource)

processFailedHoldState

private static void processFailedHoldState(ManagedExecutableJobResource resource)

processFailedState

private static void processFailedState(ManagedExecutableJobResource resource)

processSuspendedHoldState

private static void processSuspendedHoldState(ManagedExecutableJobResource resource)

processSuspendState

private static void processSuspendState(ManagedExecutableJobResource resource)

processResumeState

private static void processResumeState(ManagedExecutableJobResource resource)

processNewState

private static void processNewState(ManagedExecutableJobResource resource,
                                    InternalStateEnumeration newInternalState,
                                    boolean addToRunQueue)

allJobProcessesAreActive

private static boolean allJobProcessesAreActive(ManagedExecutableJobResource resource)

allJobProcessesAreDone

private static boolean allJobProcessesAreDone(ManagedExecutableJobResource resource)

allJobProcessesHaveResumed

private static boolean allJobProcessesHaveResumed(ManagedExecutableJobResource resource)

insertNotifiedJobData

protected static void insertNotifiedJobData(ManagedExecutableJobResource resource,
                                            java.lang.String jobId,
                                            StateEnumeration state)

removeNotifiedJobData

protected static JobIdStatePairType removeNotifiedJobData(ManagedExecutableJobResource resource)

kill

private static void kill(ManagedExecutableJobResource resource)

processCompletedStagingJob

private static boolean processCompletedStagingJob(ManagedExecutableJobResource resource,
                                                  org.globus.rft.generated.RequestStatusType status,
                                                  InternalStateEnumeration nextState)

fileCleanUp

private static boolean fileCleanUp(ManagedExecutableJobResource resource)

cacheCleanUp

private static boolean cacheCleanUp(ManagedExecutableJobResource resource)

runScript

protected static JobManagerScript runScript(ManagedExecutableJobResource resource,
                                            ScriptCommandEnumeration scriptCommand)
                                     throws java.io.IOException
Run a job manager script to interface with the local scheduling system.

Parameters:
scriptCommand - Name of the Perl method to invoke.
Throws:
java.io.IOException - Error forking process or creating script output reader.
See Also:
org.globus.exec.service.job.jobmanager.JobManagerScript

setLocalJobId

protected static void setLocalJobId(ManagedExecutableJobResource resource,
                                    java.lang.String localJobId,
                                    StateEnumeration state)

isNotifiedJobData

protected static boolean isNotifiedJobData(ManagedExecutableJobResource resource)

createStagingHoldFault

private static FaultType createStagingHoldFault(ManagedExecutableJobResource resource,
                                                StagingTypeEnumeration stagingType)

createStagingFault

private static FaultType createStagingFault(ManagedExecutableJobResource resource,
                                            StagingTypeEnumeration stagingType,
                                            java.lang.Exception cause)

createFaultFromErrorCode

private static FaultType createFaultFromErrorCode(ManagedExecutableJobResource resource,
                                                  ScriptCommandEnumeration scriptCommand,
                                                  int errorCode)

createFaultFromErrorCode

private static FaultType createFaultFromErrorCode(ManagedExecutableJobResource resource,
                                                  ScriptCommandEnumeration scriptCommand,
                                                  int errorCode,
                                                  java.lang.String failureMessage)

getLoggingPrefix

public static java.lang.String getLoggingPrefix(ManagedExecutableJobResource resource)

getLoggingPrefix

public static java.lang.String getLoggingPrefix(ResourceKey resourceKey)

logJobAccepted

private static void logJobAccepted(ManagedExecutableJobResource resource)
                            throws ResourceException
Throws:
ResourceException

logJobSucceeded

private static void logJobSucceeded(ManagedExecutableJobResource resource)

logJobFailed

private static void logJobFailed(ManagedExecutableJobResource resource)

subscribeAtJobStateMonitor

static void subscribeAtJobStateMonitor(ManagedExecutableJobResource resource)
                                throws AlreadyRegisteredException
Throws:
AlreadyRegisteredException

unsubscribeAtJobStateMonitor

static void unsubscribeAtJobStateMonitor(ManagedExecutableJobResource resource)