The restart from a checkpoint feature provides a means for a failed
job to be restarted at the last successful checkpoint taken before the failed step. By
default, jobs are designed without implicit checkpoints. Instead, users must explicitly
specify checkpoints at the appropriate steps. Checkpoints consist of code that is
inserted before a selected transformation’s step.
When a job is rerun after a failure, the last saved checkpoint becomes the restart
point for
the run. The restart feature enables you to restart a job at the beginning of a step
(transformation) when a job previously failed at that step or a subsequent step.
The code for the steps preceding the checkpoint is skipped, and the state is restored
from the save-state information preserved by the checkpoint code. Then, processing
can pick up from the specified transformation. On a rerun, you can run from either
the last saved checkpoint or the beginning of the job. You cannot rerun the job from
any other checkpoint.
Note: Only the last
successful checkpoint is saved when a job with multiple checkpoints
is run. The saved-state information of the last successful checkpoint
overwrites the information from earlier checkpoints.
The state
can be restored because the following entities are restored to their
values from the previous run:
-
macro variable values that are
saved at the checkpoint using
set sashelp.vmacro(where=(scope
ne 'AUTOMATIC'))
. However, some macro variables are filtered
out:
'CPRID','JOB_RC','TRANS_RC','ETLS_STARTTIME','ETLS_ENDTIME',
'SQLRC','ETLS_RESETRESTART','ETLS_STEPSTARTTIME','ETLSCPR_PENDINGID',
'ETLSCPR_RUNNINGID','ETLS_RUNNINGINTERACTIVE','_ARMEXEC','_PERFINIT',
'_ARMTXID','_PERFNEST','_ARMSHDL','_ARMAPID'
.
-
The following
entities are not restored:
-
SAS Global Options. Restoring global options might undo a setting set by an
administrator in a configuration file for a rerun. If you add code in a job to set global options,
the code should be put in a transformation marked to always
run. To set a selected transformation to always run, click
Yes in the
Run this transformation always when restarting field on the
Options tab of the properties
window of the transformation.
-
Macros in catalog WORK.SASMACR. Although saving and restoring these macros might be
beneficial, there are write-permission problems with restoring macros in this catalog.
Therefore, the restart from checkpoint feature will no longer be saving and attempting
to restore SASMACR catalog entries. If you have a transformation in a job that declares
a macro used in subsequent steps, you must flag the transformation
as Run always.
-
Connections to remote machines. If the step that contains the connection code for
a job is skipped, the steps that depend on the connection fail.
The restart
from a checkpoint feature is covered in the following topics: