[teiid-designer-dev] [teiid-dev] VDB Versioning Feature

Steven Hawkins shawkins at redhat.com
Tue Feb 16 17:37:24 EST 2010


Not to beat a dead horse, but I would like to clarify the points below.  I think we all agree that point 1 is satisfied by just deploying a new vdb over an existing one.

On point 2 what I believe we are trying to support is the promotion of a "next" vdb to current.  To that end versioning alone was not enough to satisfy this feature, it also required the "default active" designation - that's what Mike was referring to by it has taken years to get this feature working.  Even with using "default active" some set of applications had to be updated to access a specific latest version of a vdb prior to a new active default being chosen.  The takeaway here is that this can all be achieved without our current notion of versioning if we have a simple operation "rename vdb" that allow the next version to overwrite the current version.  This is not quite as user friendly - especially if there are multiple next versions that are needed simultaneously, however I think we can safely ignore that case.  But it definitely simplifies things.

Also the Teiid runtime is not the appropriate place to manage a repository of VDBs.  Unlike prior versions of MetaMatrix any active vdb will have its metadata loaded when the system is starting up based upon whether the vdb is marked as active.  Having lots of older vdb versions requires additional management by administrators to know exactly which older ones are inactive.

----- Original Message -----
From: "Steven Hawkins" <shawkins at redhat.com>
To: "John Doyle" <jdoyle at redhat.com>
Cc: teiid-designer-dev at lists.jboss.org, teiid-dev at lists.jboss.org, "Ramesh Reddy" <rareddy at redhat.com>
Sent: Monday, February 8, 2010 11:21:05 AM GMT -06:00 US/Canada Central
Subject: Re: [teiid-dev] [teiid-designer-dev] VDB Versioning Feature

Since we can safely ignore legacy notions of our repository the features John's features below are a good succinct place to start.

In the container, 1 is just a replacement of the existing vdb with one of the same name.  Clients wishing to use the latest do not need to take any action.

2, even with versions, is not entirely easy.  Some vdb version would need to be set to the active default and some subset of connecting applications would still use an explicit version.  Presumably this is done for the purpose of migration.  That is, as soon as the new version is blessed, it will be marked as the new default.  There are two points to be made here.  The first is that this is not a common practice or even something that would be desirable in most environments.  Typically your testing will be done in separate instances, an integration environment vs. production, which doesn't require simultaneous deployment of multiple versions in the production instance.  The second is that this same flow could be done without our notion of versions if the act of promotion is just to undeploy/redeploy the new vdb over the old vdb.  The only issue is that the applications connecting to the "explicit new vdb version" would not be pointing to anything after promotion, but if we assume that their connection strings are supposed to change anyway, the could just as easily be pointed at the live vdb. 

----- Original Message -----
From: "John Doyle" <jdoyle at redhat.com>
To: "Ramesh Reddy" <rareddy at redhat.com>
Cc: teiid-designer-dev at lists.jboss.org, teiid-dev at lists.jboss.org
Sent: Monday, February 8, 2010 10:56:20 AM GMT -06:00 US/Canada Central
Subject: Re: [teiid-dev] [teiid-designer-dev] VDB Versioning Feature


----- "Ramesh Reddy" <rareddy at redhat.com> wrote:

> In Teiid a VDB is always represented by its name and version.
> Together
> they both represented a unique name for VDB. Although a version
> represents a particular schema version, 
> 
...
> 
> so, we would like to propose to remove this "version" feature from
> Teiid. If users want they can manage the this through explicit VDB
> names.
> 
> Please let us know if you think this feature is worth keeping and
> why?

I think this deserves some careful consideration.  I think its important that we maintain the capability to:

1) Deploy a 'newer version' of a VDB that clients will use without any changes to clients.
and, conversely, from a user's perspective, 
2) Deploy a 'new version' of a VDB while maintaining the older version such that existing clients will continue to use the old on without change.

Currently VDB version in the connection is the mechanism.  I won't argue against getting rid of version, but if we do I think we need to have a different way to accomplish the above.

> 
> Thanks
> 
> Ramesh..
> 
> _______________________________________________
> teiid-designer-dev mailing list
> teiid-designer-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/teiid-designer-dev
_______________________________________________
teiid-dev mailing list
teiid-dev at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/teiid-dev



More information about the teiid-designer-dev mailing list