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.

Reply via email to