Subtree processing has to be completely rethought
-------------------------------------------------
Key: DIRSERVER-1527
URL: https://issues.apache.org/jira/browse/DIRSERVER-1527
Project: Directory ApacheDS
Issue Type: Bug
Reporter: Emmanuel Lecharny
Priority: Critical
Fix For: 2.0.0-RC1
Currently, managing subtrees is done by adding the subentry, and then modify
all the entries selected by the subtreeSpecifciation by adding a new attribute
pointing to the assciated subentry. This is simply overkilling : with millions
of entries, that means we may have to modify millions of them, which will cost
a hell of a time, assuming that the server is capable of only 2000
modifications per second (that's almost 10 minutes for 1M entries to be
modified...).
We *have* to manage subtrees differently. One option would be to filter the
entries by evaluating them when they are manipulated, everywhere we use
subtrees :
- ACI
- Schema (not used yet)
- Triggers
- CollectiveAttributes
Of course, it will slow down a bit those operations, but we won't see the
server stopped for minutes while processing a subtree addition, removal or
modification.
Plus the fact that some of the current operations are not handled correctly,
leaving invalid subentry references into many entries... (MoveAndRename for
instance : the old ref remains in entries)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.