If you're one of our hosted customers, you've likely heard us use the term "rolling restart" at one time or another. This document covers what we mean by that term, how it will impact your users, and when it's applicable.
From a very high level, a rolling restart takes advantage of the application's clustering architecture to restart the individual servers with a minimal interruption to end users. As opposed to a full restart where the site is unavailable while the servers are starting up, users will be able to use the service during a rolling restart.
Details and impact
From a technical perspective, what we're doing is shutting down each machine individually and relying on the load balancer to redirect traffic away from the downed node. This action has a few noticeable effects on users:
- Users who have not opted for the site to "Remember Me" will need to log in again. This behavior occurs because users' sessions are tied to a particular node, so when they are directed to another node they will need to re-authenticate their session.
- Users who try to access the site may experience a temporary "site down" error before the load balancer begins redirecting traffic.
- Per-node, in-memory state such as auto-saved RTE posts will be lost.
As with any restart, the node will be sluggish at first. This happens while the node's fast memory caches are being populated from disk. The node should be back to full responsiveness within minutes of normal use.
For the most part, a rolling restart accomplishes exactly the same goals as a full restart. Each of the nodes will be brought down in turn, which yields a net effect of a full restart for the entire cluster.
However, There are some limitations to what can be done with a rolling restart and what requires a full restart. For example, while many plugins can be installed via a rolling restart, those that need to install their own database schema cannot. Further, because rolling restarts require manual control, they can only be scheduled during normal business hours. A full restart, on the other hand, is fully automated and can therefore be scheduled for any time.
When doing an installation update using the cloud tool there is a new Rolling Restart checkbox when updating a theme is checked. The user can select if they want to do a rolling restart. The next confirmation page shows rolling restart has been selected, and the final upload page adds a note saying that a rolling restart will be done. Note: this feature is not available for deploying a custom WAR or plugin at this time.
As always, if you would like something clarified please just leave a comment below or file a case in your company's group.