Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-9155

Backport OPENIDM-8527: Persistent schedules do not failover if recovery initiated by a node with execute.persistent.schedules=false

    Details

      Description

      Assume a deployment which consists of three OpenIDM nodes with the following configurations:

      Node1: execute.persistent.schedules=false
      Node2: execute.persistent.schedules=true
      Node3: execute.persistent.schedules=true

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                cgdrake Chris Drake
                Reporter:
                cgdrake Chris Drake
                QA Assignee:
                Jakub Janoska
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: