Affects Version/s: 6.2.X EE, 7.0.1 CE GA2, Master
Steps to Reproduce:
- In a clustered environment startup first node (for now master node).
- Startup second node (salve node).
- Deploy in both nodes a simple scheduled job test portlet set to trigger every 10 minutes.
- Activate log level to DEBUG for com.liferay.portal.scheduler.ClusterSchedulerEngine to be able to detect which is the node currently executing jobs.
- Wait 10 minutes to check that the job gets correctly fired in the master node (optional, this step can be skipped, it's only to check that configuration is fine).
- Before job's next execution simulate a loss of connection between both nodes.
- Check, in the logs, that slave node is now also master and is going to execute jobs.
- Before job's next execution enable again connection between both nodes.
- After a while one of both nodes will be established as slave and will indicate in the logs that is no longer going to execute jobs.
- Wait until master executes the job (for first or second time depending whether you skipped the optional step or not).
- Before the job is executed another time simulate a loss of connection between both nodes.
No job should be executed at this point until the expected time.
Jobs get immediately fired in one of the nodes (the one which was a slave before breaking connection for a second time) independently of the expected time.