On Tue, Mar 20, 2012 at 7:37 PM, Emmanuel Lécharny <firstname.lastname@example.org>
today, I removed the GenericIndex class, which was used only to create the index from the configuration. I just delegated the creation to the XXXPartition classes, using an abstract method (createSystemIndex) in the AbstractBtreePartition class. it works well. Now, i'm trying to get rid of all the normalization done in the index implementation : we should *never* normalize there, all the values should already have been normalized before (this will save some extra time).
The next step would probably be to get rid of the reverse index from almost all the index but the Rdn index (where it's mandatory). That means we will have to reorganize the index content, moving the reverse table to the RdnIndex (for both the Avl and Jdbm indexes). I'm not sure I'll work on that right now.
Two more things :
- it could be a good idea to add a system index for AttributeType, it could help us to know which entries will be impacted if we remove an AT
- we should get rid of the oneLevel and subLevel index, and using the Rdn index instead. Stefan has already successfully removed them for the Hbase partition, there is no reason we should not get rid of them for the Jdbm and Avl partitions too.
All in all, removal of those 2 indexes, plus removal of the reverse index, plus removal of the spurious normalization could give us better performances for the modifications operations.