Hi Emmanuel,

I think you're right. It's definitely a better idea.

You probably have a lot of objects of the original registry in use in other classes or data structures.

Swapping registries means updating all the schema objects values contained in the original registry which is kind of unnecessary because most of these objects have no been modified at all.

So I think it definitely makes sense. Especially when i have in mind the use the schema manager to rewrite the schema editor plugin for Studio.

Using the registry swap would force us to do a lot of refresh in the UI for almost nothing.

Regards,
P-A

On 23 nov. 2009, at 09:31, Emmanuel Lecharny <[email protected]> wrote:

Hi,

when we modify the schema, for instance by adding a new AT, in order not to break the current schema, we apply the modification to a cloned Registries. So far, so good. And if the new registries is ok with the newly added SchemaObject, we swap the registries.

Now, this create a dull issue : all the ServerEntry instances still point to the previous registries, and as we clean the previous registries to avoid memory leaks, all those instances now point to non existing SchemaObjects (more specifically, each instance has attributes which contain a reference to the AttributeType schemaObject they are associated with) !

Question : how can we avoid this problem ? My idea is to apply the modification to the initial registries once it has been proven that the registries alteration leave the Regsitries consistent. We will just clean the cloned registries, and don't swap anymore.

Does it sound good to you, or do you have any better idea ?

--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org


Reply via email to