Deterministic deployment once more
We are using deterministic deployment as described in "XAP Administrators Guide", but it does not work exactly as we would like. We would like to have the following run-time behaviour:
(1) When the system starts and space is successfully started on both hosts A and B, than the Primary instance must be allocated on host A, and Backup on host B. (2) If the space instance on host A fails, the backup instance on host B must take over as a new Primary. (3) When the space instance on host A recovers, it should become a Backup. We do not want to relocate Primary back from B to A when A is started after the failure.
Currnently it looks like the requirement (3) is not satisfied. Whenever the primary instance on A fails, the following happens:
- The Backup instance on B takes over as a new Primary.
- GSA restarts the space instance on host A.
- GSC on host A complains that host B is a Primary now:
2017-08-21 10:34:13,498 fortune-core.1 [1] WARNING [org.openspaces.pu.sla.PrimaryZoneController] - Primary instance of PU fortune-core.1 [2] located on machine [forcoi09:10.143.29.251] is not running on primary zone [Core_A]. It will be restarted.
- GSC on host B is restarted.
- Space instance on host A takes over as a Primary, GSC on host B becomes a Backup again.
As a result, each time when space instance on the host A fails, we have one unnecessary switch between Primary and Backup (the switch back from B to A). Is there a way to prevent this second switch, but keep the rule "use A as a Primary, if possible, during startup"?