/** * Internal method called by the ProcedureExecutor that starts the user-level code execute(). * @throws ProcedureSuspendedException This is used when procedure wants to halt processing and * skip out without changing states or releasing any locks held. */ protected Procedure<TEnvironment>[] doExecute(TEnvironment env) throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { try { updateTimestamp(); if (bypass) { LOG.info("{} bypassed, returning null to finish it", this); return null; } return execute(env); } finally { updateTimestamp(); } }
/** * Internal method called by the ProcedureExecutor that starts the user-level code execute(). * @throws ProcedureSuspendedException This is used when procedure wants to halt processing and * skip out without changing states or releasing any locks held. */ protected Procedure<TEnvironment>[] doExecute(TEnvironment env) throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { try { updateTimestamp(); if (bypass) { LOG.info("{} bypassed, returning null to finish it", this); return null; } return execute(env); } finally { updateTimestamp(); } }
/** * Internal method called by the ProcedureExecutor that starts the * user-level code execute(). */ @InterfaceAudience.Private protected Procedure[] doExecute(final TEnvironment env) throws ProcedureYieldException, InterruptedException { try { updateTimestamp(); return execute(env); } finally { updateTimestamp(); } }
/** * Internal method called by the ProcedureExecutor that starts the user-level code execute(). * @throws ProcedureSuspendedException This is used when procedure wants to halt processing and * skip out without changing states or releasing any locks held. */ @InterfaceAudience.Private protected Procedure<TEnvironment>[] doExecute(final TEnvironment env) throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { try { updateTimestamp(); return execute(env); } finally { updateTimestamp(); } }