On Wed, Jan 5, 2011 at 10:06 PM, Emmanuel Lécharny <elecha...@apache.org>wrote:

> On 1/5/11 8:17 PM, Alex Karasulu wrote:
>
>> On Wed, Jan 5, 2011 at 8:13 PM, Emmanuel Lecharny<elecha...@gmail.com
>> >wrote:
>>
>>  On 1/5/11 6:49 PM, Alex Karasulu wrote:
>>>
>>> So when considering compatibility we have to consider several things
>>>> besides
>>>> just APIs and SPIs:
>>>>
>>>>   o Database Format
>>>>   o Schema
>>>>   o Replication Mechanism
>>>>   o Configuration
>>>>   o API Compatibility
>>>>   o Plugins - We have pseudo plugins like Partitions, Interceptors and
>>>> Handlers that users can alter which involve SPIs.
>>>>
>>>>  I would get the Database Format and Configuration out of the equation.
>>> It's
>>> up to us to provide tools to migrate from one format to the other. Don't
>>> get
>>> me wrong : when I say that configuration is out of the equation, I mean
>>> that
>>> the configuration can change, not its format (ie switching from XML to
>>> DIT
>>> is possible between to major releases, not between two minor releases).
>>>
>>>
>>>  Will this be transparent to the user? Meaning can he just upgrade the
>> software and the migration will occur without any change in their
>> workflow,
>> or anything noticeable in performance, wait time on startup? More
>> specifically:
>>
>> (1) Does the user have to run a tool to migrate from one version to the
>> next
>> ?
>>
>
> Definitively, yes.
>
>
This is a bit worrisome to me but I cannot figure out why yet. Something in
my gut that I have not translated into real consequences yet.

I can see advantages with such a tool which allows us to change these
formats and configurations. But the disadvantage is the one off of having to
figure out if you need the tool with every minor or micro release. It's yet
another one off and the tool make take a day to run depending on how big the
DIB is.

However with modularity and OSGi these points become less problematic.

If this is set as the policy then this tool must always be provided. Those
who push this as the way then need to be held responsible for providing the
tool when needed. That sort of goes against the community dynamic: it's
going to be a must do for those accepting the policy.

So for those who want it, it should be provided by them on demand before any
release takes place. That's kind of harsh.

Instead if we respect the DB format and just release with the right
versioning schemes then we should be OK. If compatibility breaks then a
major release can be done and tools can still be provided to migrate
optionally without requirement.

See my point here?

 (2) If a user has 100 Million entries and there's a migration operation
>> running with this take say a few hours to start up the server?
>>
> This should be a low level tool, so it should act on the Backend interface
> level
>
>
Yeah but it can still take days depending on the DB size but should not be
an issue with 90% of our users.

-- 
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org
To set up a meeting with me: http://tungle.me/AlexKarasulu

Reply via email to