Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

...

In layman terms, this means that the application is upgraded with minimal user disruption.   However, occasionally, a small number of users will inconvenienced by being forcibly logged out, which requires the user to log back in unexpectedly.  If you care to know why this happens, please read the remainder of this page.

Note

This document only discusses rolling upgrades. Some upgrades require a full restart. In those cases, a notice is placed in the application and the upgrade occurs after business hours.

Application Servers

The SSDT executes ODDEX on more than one application server simultaneously. This provides load-balancing across the servers. On login, each user is randomly assigned to one of the available application servers.  For the length of the user's session, the load-balancer ensures the user will remain "connected" to the server where the session resides.  

...

Info

Technical staff may consider this description as a "cluster". It is not a true cluster since session and cache information is not shared between the servers. Each server executes an independent instance of the application.

 

Rolling Upgrade

When the SSDT installs an upgrade, each server is upgraded individually.  The upgrade process is approximately:

...

At all times, at least one server is available for new sessions, giving the appearance that the system was never shut down.  As users log out of the previous version, they will be automatically connected to the new version.

Long Running Sessions

In practice, it often takes four to eight hours to complete a rolling upgrade.  This is because a few users keep an active session for the entire business day.  A single user can prevent the upgrade from proceeding by keeping a session active. For most upgrades, this is not an issue so the sessions are allowed to expire normally.  However, for an important upgrade or bug fix, the SSDT may decide to speed up the process by forcibly terminating a few users.   Whenever possible, we only terminate sessions that have been inactive for at least 15 minutes but occasionally are forced to terminate more active sessions. 

...