Session states


State

Description

How the state relates to the client

Open

Normal operational state of a session.

A session enters the state Open as soon as it is created.

The system schedules pending tasks for processinr, if there are resources available.

The client can:
  • Send new tasks

  • Retrieve task output

Closed

Successful end state of a session.

A session is closed when the client explicitly closes the session with the default parameters, or with the "destroy on close" flag. With the C++ API, the session will also be closed when the smart pointer that refers to the session goes out of scope.

The client cannot send new tasks or retrieve task output.

Suspended

A session enters the Suspended state if a user performs an administrative operation to forcefully suspend the session. When a session is suspended, any running tasks are given a grace period (suspendGracePeriod in the application profile) to finish. If they do not finish before the grace period, the service instance on which they are running is killed and the task is requeued and put into the pending state. No pending tasks are scheduled until the session is resumed. Any tasks that were requeued are rerun when the session resumes.

There is no impact to the client.

The client can send new tasks and retrieve task output.

Aborted

A session could end in the aborted state if
  • A user terminated the session

  • The client lost connection with the SSM and the abortSessionIfClientDisconnect parameter is set to true in the application profile (SessionType)

  • At least one task failed and the abortSessionIfTaskFail parameter is set to true in the application profile

  • Service event occurred (where actionOnWorkload is set to fail) while executing SessionEnter or SessionUpdate methods

  • Session exceeded its sessionRetryLimit, as defined in the application profile, by experiencing service events where actionOnWorkload is set to retry when executing SessionEnter or SessionUpdate methods.

    Note:

    The retry count for both of these methods are considered together. For example, if SessionEnter fails once and SessionUpdate fails twice, then the session rerun count is equal to 3

Client will receive an exception to indicate that the session was aborted. It is no longer able to operate on the session.


Related concepts
Sessions
Related tasks
Control sessions