Affects Version/s: 6.2.4 CE GA5, 6.2.X EE
Scheduler can fail to initialize due to deserialization errors when applying updates to a cluster if classes such as ClusterNode are modified between updates. Scheduler can also fail to initialize when the master node is shut down just as the scheduler is attempting to retrieve the list of scheduled jobs (this is a race condition and requires a debugger to reproduce).
In both cases, the server shuts down if scheduler fails to initialize. This essentially means that Liferay cannot be made highly available through a rolling restart because the entire cluster must be shut down when applying updates.
This does not occur in master as a side-effect of converting scheduler into a module (
Steps to reproduce:
- Create a configuration for a cluster of two nodes.
- Start up one node which is any version of 6.2.x without
LPS-51714(the initial release of 6.2.10 will work).
- Start up any second node which contains the changes for
Expected behavior is the second node will start up without issue. Actual behavior is that the second node will shut down due to failure to initialize the scheduler (without any fixes) or hang until the first server shuts down (the first iteration of the fix).