This article explains the availability behavior during a rolling restart of an on-premise Jive instance that's set up with load balancing. Based on the configuration, you may notice that the related applications are not accessible to end-users even when a few nodes (servers) out of the clusters (server pool in the load-balancer) are restarted.
An on-premise Jive instance that's set up with load balancing configured for one or more types of servers such as application server, cache server, or database server.
Perform a rolling restart of one of the nodes (servers) from the cluster (server pool) that are set up with load balancing.
The end-users should not see any downtime and the load balancer should automatically redirect all traffic to the available nodes (servers) from the cluster(server pool).
The users see that the application is not accessible. For example, if the server is from the database server pool, the users will see an error similar to:
What is the load balancer's role?
In a Jive cluster environment, a load balancer is added between the user and the application servers. Every user has a session, represented by a unique cookie that's associated with a particular server from the cluster that allows stateful data to be maintained while they are using the application.
The load balancer must be session-aware, meaning that it inspects the cookie value and always sends a given user's requests to the same application server during a given session. Without session-aware load balancing, the load balancer could send requests to any application server in the cluster, scrambling results for a given user.
Why does the application show error on restart?
This occurs if your browser is still sending the same cookie for the application server that was restarted to the load balancer. Since the request is further forwarded by the load balancer to the application server that's unavailable (being restarted), the end-user sees an inaccessible service or the maintenance page.
Jive requires the load balancer to be configured for the cookie-based session affinity between each host running the platform. This configuration enables the available nodes (servers) from the cluster (pool of servers) to successfully take-over any user session (regardless of the unique cookie value) if the associated node (server) for that user session is inaccessible.
You can refer to the article Using external load balancer from product documentation to set up the cookie-based session affinity to resolve this problem.
How to update the maintenance page?
If you would like to keep the current behavior but only want to showcase a different maintenance webpage during the node restarts, you can update the HTML page located at:
Once you have updated the maintenance page, you can view it to verify by navigating to:
Note: Please replace [Your_Jive_URL] with your Jive community's URL.