From: "Eli Mesika" <emesika(a)redhat.com>
To: "Yedidyah Bar David" <didi(a)redhat.com>
Cc: "devel" <devel(a)ovirt.org>
Sent: Thursday, July 9, 2015 11:27:37 AM
Subject: Re: [ovirt-devel] Reaming VdcFault to EngineFault
----- Original Message -----
> From: "Eli Mesika" <emesika(a)redhat.com>
> To: "Omer Frenkel" <ofrenkel(a)redhat.com>
> Cc: "devel" <devel(a)ovirt.org>
> Sent: Wednesday, July 8, 2015 6:15:48 PM
> Subject: Re: [ovirt-devel] Reaming VdcFault to EngineFault
>
>
>
> ----- Original Message -----
> > From: "Omer Frenkel" <ofrenkel(a)redhat.com>
> > To: "Eli Mesika" <emesika(a)redhat.com>
> > Cc: "devel" <devel(a)ovirt.org>
> > Sent: Wednesday, July 8, 2015 4:05:28 PM
> > Subject: Re: [ovirt-devel] Reaming VdcFault to EngineFault
> >
> >
> >
> > ----- Original Message -----
> > > From: "Eli Mesika" <emesika(a)redhat.com>
> > > To: "devel" <devel(a)ovirt.org>
> > > Sent: Wednesday, July 8, 2015 3:56:44 PM
> > > Subject: Re: [ovirt-devel] Reaming VdcFault to EngineFault
> > >
> > >
> > >
> > > ----- Original Message -----
> > > > From: "Eli Mesika" <emesika(a)redhat.com>
> > > > To: "devel" <devel(a)ovirt.org>
> > > > Sent: Wednesday, July 8, 2015 3:22:23 PM
> > > > Subject: Reaming VdcFault to EngineFault
> > > >
> > > > You may get the following error after rebase with master :
> > > >
> > > >
http://pastebin.test.redhat.com/295552
> > >
> > > If you can not see this , the error is :
> > >
> > > 2015-07-08 12:59:21,322 ERROR
> > > [org.ovirt.engine.core.vdsbroker.HostMonitoring]
> > > (DefaultQuartzScheduler_Worker-5) [5766d7b4] Exception:
> > > javax.ejb.EJBException: org.apache.commons.lang.SerializationException:
> > > org.codehaus.jackson.map.JsonMappingException: Invalid type id
> > > 'org.ovirt.engine.core.common.errors.VdcFault' (for id type
> > > 'Id.class'):
> > > no
> > > such class found (through reference chain:
> > >
org.ovirt.engine.core.common.action.VdcReturnValueBase["fault"])
> > >
> > > >
> > > > The reason is that the CommandEntity has a memeber of type
> > > > VdcReturnValueBase
> > > > which contains
> > > > the VdcFault. It is serialized by jackson into the db, and when
there
> > > > is
> > > > an attempt to deserialize it - you got the error.
> > > >
> > > > This can be addressed by a simple update command followed by engine
> > > > restart:
> > > >
> > > > psql -U <user> -c "update command_entities set
return_value =
> > > > replace(return_value,'VdcFault','EngineFault'),
return_value_class =
> > > >
replace(return_value_class,'VdcFault','EngineFault');" <db>
> > > >
> > > >
> > > > Please let me know if you have any issues.
> > > >
> > > > Thanks
> > > > Eli Mesika
> > > >
> > > >
> >
> > works, thanks
> > so i guess we need upgrade script for this?
>
> Since we remove those tables content upon upgrade, this is only a dev
> problem
> that should be addressed with the sql statement manually ...
Didi, just to be on the safe side, please approve that command_entities table
content is deleted upon upgrade.
If not, I will issue also an upgrade script that will fix this issue
AFAICS, This table is manipulated by engine-setup only by calling taskcleaner.sh,
not directly.
If upgrading from > 3.4, taskcleaner.sh is called with: -r -Z
Then it's called with: -R -z -C -J
Didn't check what each of them does exactly. From a quick look at seems that
deletions from it have conditions, not sure everything is always deleted eventually.
--
Didi