Good point! Let's see, there are two services initialized there in try-catch block,
therefore the failure of only this two will be tolerated. The two services are:
- VmPropertiesUtils
- DevicePropertiesUtils
I looked into it and for this two services I would rather let engine fail of they can not
initialize, since that may very likely be caused by missing or broken configuration and I
am not sure the engine would perform right after the failure of these services.
----- Original Message -----
From: "Yair Zaslavsky" <yzaslavs(a)redhat.com>
To: "Laszlo Hornyak" <lhornyak(a)redhat.com>
Cc: "engine-devel" <engine-devel(a)ovirt.org>
Sent: Wednesday, August 7, 2013 5:37:16 PM
Subject: Re: [Engine-devel] InitBackendServicesOnStartupBean create
----- Original Message -----
> From: "Laszlo Hornyak" <lhornyak(a)redhat.com>
> To: "engine-devel" <engine-devel(a)ovirt.org>
> Sent: Wednesday, August 7, 2013 5:59:34 PM
> Subject: [Engine-devel] InitBackendServicesOnStartupBean create
>
> Hi,
>
> I made some mistake in the upgrade of my engine (which is my bad) but then
> I
> noticed that when one service initialization fails, the rest of the
> services
> are not initialized, but still the engine will start even then and it did
> not even log.
>
> There are some patterns in that single method on initialization, some work
> with 'try', some spawn a new thread. Can we have this cleaned up?
> What I was thinking of is that each service should be initialized, creating
> a
> thread is it's own business, exceptions from initialization should be
> caught, logged and engine startup should be prevented if any service fails
> to initialize.
The question is indeed whether we should really fail in case ANY service
fails.
In addition, may I suggest spawning a thread for each one of the services
(unless there is dependency of course), and wait for completion in order to
reduce startup time?
>
> Thx,
> Laszlo
> _______________________________________________
> Engine-devel mailing list
> Engine-devel(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/engine-devel
>