public static boolean isStageTerminated(GraphManager m, int stageId) { synchronized(m.stageStateData.lock) { return GraphManagerStageStateData.STAGE_TERMINATED <= stageStateArray(m)[stageId]; } }
public static boolean isStageStarted(GraphManager m, int stageId) { return stageStateArray(m)[stageId]>=GraphManagerStageStateData.STAGE_STARTED; //or running or shuttingdown or terminated }
public static PronghornStage[] allStagesByState(GraphManager graphManager, int state) { //TODO: rewrite and simple recursive stack unroll to eliminate the duplication of the code here. see pipesOfType int count = 0; int s = graphManager.stageIdToStage.length; while (--s>=0) { PronghornStage stage = graphManager.stageIdToStage[s]; if (null!=stage && stageStateArray(graphManager)[stage.stageId]==state) { count++; } } PronghornStage[] stages = new PronghornStage[count]; s = graphManager.stageIdToStage.length; while (--s>=0) { PronghornStage stage = graphManager.stageIdToStage[s]; if (null != stage && stageStateArray(graphManager)[stage.stageId]==state) { stages[--count] = stage; } } return stages; }
private static void setStateToNew(GraphManager gm, int stageId) { synchronized(gm.stageStateData.lock) { gm.stageStateData.stageStateArray = setValue(stageStateArray(gm), stageId, GraphManagerStageStateData.STAGE_NEW); } }
public static void setStateToStopping(GraphManager gm, int stageId) { synchronized(gm.stageStateData.lock) { gm.stageStateData.stageStateArray = setValue(stageStateArray(gm), stageId, GraphManagerStageStateData.STAGE_STOPPING); } }
public static boolean isProducerTerminated(GraphManager m, int ringId) { int producerStageId = getRingProducerId(m, ringId); return producerStageId<0 || stageStateArray(m)[producerStageId] == GraphManagerStageStateData.STAGE_TERMINATED; }
public static void setStateToStarted(GraphManager gm, int stageId) { synchronized(gm.stageStateData.lock) { gm.stageStateData.stageStateArray = setValue(stageStateArray(gm), stageId, GraphManagerStageStateData.STAGE_STARTED); gm.stageStartTimeNs[stageId] = System.nanoTime(); } }
public static void setStateToShutdown(GraphManager gm, int stageId) { synchronized(gm.stageStateData.lock) { gm.stageStateData.stageStateArray = setValue(stageStateArray(gm), stageId, GraphManagerStageStateData.STAGE_TERMINATED); // assert(recordInputsAndOutputValuesForValidation(gm, stage.stageId)); gm.stageShutdownTimeNs[stageId] = System.nanoTime(); } }
public static boolean isStageShuttingDown(final GraphManager m, final int stageId) { return isStageShuttingDown(stageStateArray(m), stageId); }