Created attachment 1367437 [details] server.log Description of problem: On engine startup invoking compensate on unhandled commands during Backend postConstruct causes circular dependency on Backend. The problem arises when the command has Singleton injected whose postConstruct invokes methods on Backend. An example is RunVmCommand that has HostDeviceManager injected. HostDeviceManager's postConstruct uses backend's runInternalMultipleActions causing a circular dependency. Moving compensate after backend is initialized would avoid such issues. How reproducible: Steps to Reproduce: 1. Have multiple VMs 2. Toggle state of VM using python sdk 3. Shutdown engine while the python script is running 4. Start engine Actual results: The server log has javax.ejb.EJBException: java.lang.IllegalStateException: WFLYEJB0132: @PostConstruct method of EJB singleton Backend of type org.ovirt.engine.core.bll.Backend has been recursively invoked Expected results: No exception should be shown
Verified by issuing the following: 1. Toggled several VMs to start using Python SDK 4.2.4 2. systemctl stop ovirt-engine.service on the engine 3. started engine 4. checked engine.log for exception in the description The exception wasn't found in the engine.log. RHV 4.2.1.3-0.1.el7 pythonsdk 4.2.4
This bugzilla is included in oVirt 4.2.1 release, published on Feb 12th 2018. Since the problem described in this bug report should be resolved in oVirt 4.2.1 release, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report.