Assume a deployment which consists of three OpenIDM nodes with the following configurations:
Configure a persistent schedule to run at regular intervals and output text to the OpenIDM console.
After initial startup of the cluster, one can observe the schedule firing as expected on one of the two nodes which have been configured to execute persistent schedules. Failover of the schedules behaves as expected when the node executing the schedule is shutdown.
However, if the node executing the schedule is forcibly killed then one of the remaining two nodes ClusterManager's will initiate recovery of the failed cluster node. Since recovery of persistent schedules is dependent upon the PersistenScheduler (aka RepoJobStore.handleEvent()) having been started on the node which initiates recovery, a nodes associated schedules will only ever be recovered if the recovery node was set to execute persistent schedules.
Therefore, the configuration above is likely to result in schedules which were acquired by the failed node being orphaned until the node is restarted.