This section lists eight failure scenarios and compares two deployments, one with session persistence, and one without.
The deployment with session persistence has session affinity across a load balancer. The deployment has multiple instances in a cluster which have some form of session persistence turned on such that session changes are written to a physically distinct repository node.
The deployment without session persistence has session affinity across a load balancer , and has multiple instances that are not part of a cluster.
Scenario Description
The end user or the administrator is editing a form that is not a part of a workflow. The instance on which the user has an established session goes down.
Without Session Persistence
User experience: A nontransparent failover. Upon submitting the form, the user is returned to the login page.
Recovery steps: The user reenters his or her user name and password. Identity Manager then processes the form and presents the results as the next page immediately following the login.
With Session Persistence
User experience: The user's form is submitted and the results are returned without the user being logged off and required to log in again.
Recovery steps: No user action is needed.
Other Scenario Examples
An end user has logged in and retrieved search results for users or other repository objects when the instance goes down.
An administrator is about to submit a “reset password” or “edit user” request using the Administrator interface when the instance goes down.
Scenario Description
The end user or the administrator has submitted a form that triggered a workflow. The instance on which the workflow is executing and on which the user's session exists is generally going to be the same except in case of some scheduled tasks where they can be different. This instances goes down while the workflow is in progress.
Without Session Persistence
User experience: A nontransparent failover. The form submit returns the user to the login page. The workflow task instance being executed should be in the repository, but because the node of execution is down, the workflow status will be “terminated.”
Recovery steps: The workflow has to be submitted again. This has to be done by going back to the same form and reentering the same information that was used to trigger the workflow before the node failed.
The submission of the same request data may work in some cases, but not all. If the workflow provisions to more than one resource during its execution and some of these resources were provisioned before the failure, the workflow resubmission from the user would have to account for the “already provisioned to” resources. Note that the terminated workflow sticks around in the repository until the resultLimit expires on the TaskInstance object.
With Session Persistence
User experience: A nontransparent failover. The user does not get logged out because his session is persisted and reestablished in the new instance. The form submit, however, will probably result in an error because the workflow will be terminated. This failover is nontransparent because recovery actions are needed.
Recovery steps: Same as in the Without Session Persistence mode. The user has to resubmit the request that triggered off the previous workflow with the same or modified parameters.
Other Scenario Examples
An end user has just submitted a self-registration request to create an Identity Manager account and the instance goes down.
An administrator has just submitted a “password reset” request that is in progress and the instances goes down.
Scenario Description
This scenario covers situations where the workflow has started, but is waiting for a manual action by an approver.
Without Session Persistence
User experience: Transparent failover with respect to the approver provided that the approver has not yet logged in. After the node failure, when the approver does log in, the approver will still see the approval request in his or her inbox, even though the request was triggered from a node that is no longer up.
Recovery steps: No user action is needed.
With Session Persistence
User experience: Same as in the Without Session Persistence mode.
Recovery steps: Same as in the Without Session Persistence mode.
Other Scenario Examples
The workflow is in a sleep state, for example a manual action that sleeps until a sunrise or sunset date for an employee.
An administrator submitted a user creation request that is waiting on an approver to log in and approve the request. The node from which the request was sent failed before the approver approved the request.
Scenario Description
This scenario includes cases where a user is editing a work item and the node upon which the user has a session goes down before the work item can be submitted.
Without Session Persistence
User experience: A nontransparent failover. When the work item edit form is submitted, the user is logged off and returned to the login page.
Recovery steps: Upon resubmitting login credentials, the user's work item is marked completed and the workflow can resume from that point. The workflow should be picked up by the new mode for execution from the point where the user's manual action is marked completed.
With Session Persistence
User experience: When the work item edit form is submitted, the user sees the effect of his submission—for example, either the next form in the custom workflow if there is one, or a success message.
Recovery steps: No user action needed.
Other Scenario Examples
An end user is filling out a form associated with a manual action in a custom workflow, for example requesting access to specific resources. Before the user can submit the request, the node the user has a session on dies.
An administrator has logged in to Identity Manager and has opened up an approval request for editing. Before the request can be submitted, the node the administrator has a session on fails.
Scenario Description
These scenarios cover cases where a node failure occurs while a reconciliation is in progress or while a report is executing.
Without Session Persistence
User experience: The scheduled task terminates in process.
Recovery steps: The scheduled task that was in progress has to be restarted. The task will start from the beginning. (The task will not restart from the point of failure.) This is akin to creating and starting a new task.
With Session Persistence
User experience: Same as in the Without Session Persistence mode.
Recovery steps: Same as in the Without Session Persistence mode.
Other Scenario Examples
An Active Sync adapter is configured to run on the failed node.
Scenario Description
These scenarios cover cases where a user's custom workflow has scheduled a task for execution at a later date on a specific node. Before the scheduled date is reached, the node that the task was scheduled on fails.
Without Session Persistence
User experience: The failover is transparent with respect to the recovery actions required to ensure that this task executes at its scheduled time.
Recovery steps: The scheduled task is taken up by any live node when the scheduled execution time arrives.
With Session Persistence
User experience: Same as in the Without Session Persistence mode.
Recovery steps: Same as in the Without Session Persistence mode.
Other Scenario Examples
In the process of a user's account creation, the Deferred Task Scanner is used to implement enabling an account on a sunrise date or to implement disabling the account on a sunset date. Before the sunrise or sunset date arrives, the node that the task was scheduled on fails.
A report is scheduled to run at a future time, or a reconciliation is scheduled to run at a specific time and, before the time is reached, the node the task was scheduled on fails.
Scenario Description
These scenarios cover those cases where the Identity Manager GUI is not used to launch provisioning. Instead, the user interface is provided by an application that internally calls to Identity Manager using the SPML or other custom web service interface. Here the user session related to the user going through the UI is managed by way of the calling application. For Identity Manager, the requests are all launched as the “soapadmin” subject.
In such a use case, this failure scenario covers the case where the request by way of the Identity Manager endpoint has not been received yet and the targeted node fails.
Without Session Persistence
User experience: A transparent failover. The SOAP administrator's credentials are passed in for each SOAP request, either over the wire or within Identity Manager through a Waveset.properties setting. As long as the node which was to receive this SOAP request has not received the request before going down, the failover is transparent with or without session persistence.
Recovery steps: No action needed. The SOAP request is sent to a live node that executes it.
With Session Persistence
User experience: Same as in the Without Session Persistence mode.
Recovery steps: Same as in the Without Session Persistence mode.
Scenario Description
This scenario is similar to scenario seven. The only difference is that the workflow is in progress when the node fails, or the node has received the SOAP request when the node fails.
Without Session Persistence
User experience: This scenario is similar to scenario two (workflow in progress). The workflow is marked terminated and the user sees an error as a result of the SOAP request.
Recovery steps: The user has to resubmit the form with similar or modified parameters (based on where the failure occurs in the workflow) using the user interface in the third-party application.
With Session Persistence
User experience: Same as in the Without Session Persistence mode.
Recovery steps: Same as in the Without Session Persistence mode.