[Kimchi-devel] [PATCH] [Kimchi] Update Kimchi objectstore versioning.

Paulo Ricardo Paz Vital pvital at linux.vnet.ibm.com
Mon Dec 14 17:20:32 UTC 2015


On 12/14/2015 01:06 PM, Rodrigo Trujillo wrote:
> This solution works for Kimchi and Ginger now, but I analyzed it a bit
> deeper and I cannot see it as a good long-term solution.

I think the first and most important point you should see here is that
Wok provides the objectstore structure for any plugin wants to use it.
So, since a plugin is using the Wok's objectstore structure, the
solution will works.

Second, this change came from a Ginger and GingerBase issue regarding
the missing 'version' field on their structure, something solved in
Kimchi by commit 50b104a46e65047dfdf299ff8a5f652f2422a949.

In addition, this patch depends on Wok's patch I sent a little bit early.

> Reasons:
> - other plugins will never be allowed to have a column named version in
> its table, for whatever reason they want;

It's false. Once a plugin is using Wok's ObjectStore structure, a column
version will be present starting on version 2.0.0. See commit
fec97768abc8b407d4eaaca2fc892708da7210c9

> - every new record must have the version inserted, today we cannot
> measure the impact, but, if for some reason objectstore must be heavily
> used, this can impact;

The complexity to record the version is the same of any other
information, since it's done once - when all information is recorded.

> - we will have (or each plugin will have) to change this in future,
> because all 'object' tables will have 'version' column, then each plugin
> will have to manage by itself how to check and update the records or
> schemas;

Kimchi already fixed this. Patches to Ginger and GingerBase was already
submitted to Ginger ML.

> - finally, I think that Wok should not touch plugins 'objectstore'.
> 

Why not? It's a common infra-structure provided and that any plugin can
use. All current plugins (kimchi, ginger and gingerbase) that use
objectstore have a solution to this problem.

> Like I said, this solution works for Kimchi/Ginger now, and I am ok,
> once we are running out of time.
> But keep in mind , that we are going to have rework in future.
> Aline can decide what to do.
> 
> Reviewed-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
> 
> 
> On 12/14/2015 11:46 AM, pvital at linux.vnet.ibm.com wrote:
>> From: Paulo Vital <pvital at linux.vnet.ibm.com>
>>
>> This patch is part of the solution for the Ginger Issue #51 and it
>> depends on
>> Wok's "Upgrade objectstore schema" patch.
>>
>> With the new structure of the objectstore changed in Wok 2.0.0, the
>> schema of
>> the objectstore file needs to be checked and, if necessary, updated to
>> reflect
>> the new structure.
>>
>> This patch removes from Kimchi the methods used to check the
>> objectstore schema
>> and upgrade it if necessary. These methods are now present in
>> wok.plugins and
>> are common to any Wok plugin.
>>
>> Paulo Vital (1):
>>    Update Kimchi objectstore versioning.
>>
>>   root.py  |  4 ++--
>>   utils.py | 40 ----------------------------------------
>>   2 files changed, 2 insertions(+), 42 deletions(-)
>>
>> -- 
>> 2.5.0
>>
>> _______________________________________________
>> Kimchi-devel mailing list
>> Kimchi-devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>>
> 




More information about the Kimchi-devel mailing list