public ProcedureScheduler getProcedureScheduler() { return procExecutor.getScheduler(); } }
@Override protected synchronized boolean setTimeoutFailure(TestProcEnv env) { setState(ProcedureProtos.ProcedureState.RUNNABLE); procExecutor.getScheduler().addFront(this); return false; // 'false' means that this procedure handled the timeout } }
protected void executeTimedoutProcedure(Procedure<TEnvironment> proc) { // The procedure received a timeout. if the procedure itself does not handle it, // call abort() and add the procedure back in the queue for rollback. if (proc.setTimeoutFailure(executor.getEnvironment())) { long rootProcId = executor.getRootProcedureId(proc); RootProcedureState<TEnvironment> procStack = executor.getProcStack(rootProcId); procStack.abort(); executor.getStore().update(proc); executor.getScheduler().addFront(proc); } } }
public static <TEnv> void waitNoProcedureRunning(ProcedureExecutor<TEnv> procExecutor) { int stableRuns = 0; while (stableRuns < 10) { if (procExecutor.getActiveExecutorCount() > 0 || procExecutor.getScheduler().size() > 0) { stableRuns = 0; Threads.sleepWithoutInterrupt(100); } else { stableRuns++; Threads.sleepWithoutInterrupt(25); } } }
procExecutor.getScheduler().clear();
procExecutor.getScheduler().addFront(p3keyB); waitAndAssertTimestamp(p1keyA, 1, 1); waitAndAssertTimestamp(p2keyA, 0, -1); procExecutor.getScheduler().addFront(p1keyA); ProcedureTestingUtility.waitProcedure(procExecutor, p1keyA); procExecutor.getScheduler().addFront(p2keyA); ProcedureTestingUtility.waitProcedure(procExecutor, p2keyA); waitAndAssertTimestamp(p1keyA, 4, 60000);
public ProcedureScheduler getProcedureScheduler() { return procExecutor.getScheduler(); } }
public ProcedureScheduler getProcedureScheduler() { return procExecutor.getScheduler(); } }
@Override protected synchronized boolean setTimeoutFailure(TestProcEnv env) { setState(ProcedureProtos.ProcedureState.RUNNABLE); procExecutor.getScheduler().addFront(this); return false; // 'false' means that this procedure handled the timeout } }
private void executeTimedoutProcedure(Procedure proc) { // The procedure received a timeout. if the procedure itself does not handle it, // call abort() and add the procedure back in the queue for rollback. if (proc.setTimeoutFailure(executor.getEnvironment())) { long rootProcId = executor.getRootProcedureId(proc); RootProcedureState procStack = executor.getProcStack(rootProcId); procStack.abort(); executor.getStore().update(proc); executor.getScheduler().addFront(proc); } } }
protected void executeTimedoutProcedure(Procedure<TEnvironment> proc) { // The procedure received a timeout. if the procedure itself does not handle it, // call abort() and add the procedure back in the queue for rollback. if (proc.setTimeoutFailure(executor.getEnvironment())) { long rootProcId = executor.getRootProcedureId(proc); RootProcedureState<TEnvironment> procStack = executor.getProcStack(rootProcId); procStack.abort(); executor.getStore().update(proc); executor.getScheduler().addFront(proc); } } }
public static <TEnv> void waitNoProcedureRunning(ProcedureExecutor<TEnv> procExecutor) { int stableRuns = 0; while (stableRuns < 10) { if (procExecutor.getActiveExecutorCount() > 0 || procExecutor.getScheduler().size() > 0) { stableRuns = 0; Threads.sleepWithoutInterrupt(100); } else { stableRuns++; Threads.sleepWithoutInterrupt(25); } } }
public static <TEnv> void waitNoProcedureRunning(ProcedureExecutor<TEnv> procExecutor) { int stableRuns = 0; while (stableRuns < 10) { if (procExecutor.getActiveExecutorCount() > 0 || procExecutor.getScheduler().size() > 0) { stableRuns = 0; Threads.sleepWithoutInterrupt(100); } else { stableRuns++; Threads.sleepWithoutInterrupt(25); } } }
procExecutor.getScheduler().clear();
procExecutor.getScheduler().clear();
procExecutor.getScheduler().addFront(p3keyB); waitAndAssertTimestamp(p1keyA, 1, 1); waitAndAssertTimestamp(p2keyA, 0, -1); procExecutor.getScheduler().addFront(p1keyA); ProcedureTestingUtility.waitProcedure(procExecutor, p1keyA); procExecutor.getScheduler().addFront(p2keyA); ProcedureTestingUtility.waitProcedure(procExecutor, p2keyA); waitAndAssertTimestamp(p1keyA, 4, 60000);
procExecutor.getScheduler().addFront(p3keyB); waitAndAssertTimestamp(p1keyA, 1, 1); waitAndAssertTimestamp(p2keyA, 0, -1); procExecutor.getScheduler().addFront(p1keyA); ProcedureTestingUtility.waitProcedure(procExecutor, p1keyA); procExecutor.getScheduler().addFront(p2keyA); ProcedureTestingUtility.waitProcedure(procExecutor, p2keyA); waitAndAssertTimestamp(p1keyA, 4, 60000);