directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Göktürk Gezer <gokturk.ge...@gmail.com>
Subject Problem of JDBM being hard(impossible) to reconfigure once it is initialized
Date Wed, 16 May 2012 03:58:10 GMT
Hi Everyone,

As i told you in OSGI branch update, JDBM is so immutable in runtime.
Almost every setter calls checkInitialized() method first which throws an
exception when its already initialized.

We have to change that behavior in as much aspects of it as we can.
Otherwise there is no point in going into OSGI. However i can't always be
sure what my changes might lead on runtime. I need some serious help here,
especially from those are actively working on JDBM, otherwise i'll jump
into trial and error cycle which will probably last long.

Here is the current configuration points for JdbmPartition:

   - cacheSize(int)
   - optimizerEnabled(boolean)
   - partitionPath(File)
   - suffixDn(Dn)
   - syncOnWrite(boolean)
   - indexedAttributes(List<Index>)

Currently none of them is reconfigurable, once the partition is
initialized. However i need to know which are actually reconfigurable among
these ones. And which are not really reconfigurable and why?

Every reconfiguration will invoke some setter method at desired
configuration point. So i guess we can make this reconfigurations work
actually based on it's initialized or not, rather than throwing an
exception blindly.

For your information, as we have the lifecycle control capability of
components created from within ApacheDS, we can implement some fancy stuff.
Like re-instantiating a component when one of its immutable property is
changed, or stop it and remove from DirectoryService when one of its
immutable property is changed to prevent accepting operations while
reconfiguring. These migtht be implemented in case there is " no
possibility! " to handle reconfigurations in live and initialized
JdbmPartition reference.

I appreciate every single idea on this matter !

Thanks,
Gokturk

Mime
View raw message