Reaming VdcFault to EngineFault

You may get the following error after rebase with master : http://pastebin.test.redhat.com/295552 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

----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "devel" <devel@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 :
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

----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "devel" <devel@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@redhat.com> To: "devel" <devel@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 :
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?
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Omer Frenkel" <ofrenkel@redhat.com> To: "Eli Mesika" <emesika@redhat.com> Cc: "devel" <devel@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@redhat.com> To: "devel" <devel@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@redhat.com> To: "devel" <devel@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 :
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 ...
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "Omer Frenkel" <ofrenkel@redhat.com> Cc: "devel" <devel@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@redhat.com> To: "Eli Mesika" <emesika@redhat.com> Cc: "devel" <devel@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@redhat.com> To: "devel" <devel@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@redhat.com> To: "devel" <devel@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 :
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
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "Yedidyah Bar David" <didi@redhat.com> Cc: "devel" <devel@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@redhat.com> To: "Omer Frenkel" <ofrenkel@redhat.com> Cc: "devel" <devel@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@redhat.com> To: "Eli Mesika" <emesika@redhat.com> Cc: "devel" <devel@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@redhat.com> To: "devel" <devel@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@redhat.com> To: "devel" <devel@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 :
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
participants (3)
-
Eli Mesika
-
Omer Frenkel
-
Yedidyah Bar David