Issue Details (XML | Word | Printable)

Key: DIRSERVER-465
Type: Improvement Improvement
Status: Open Open
Priority: Major Major
Assignee: Alex Karasulu
Reporter: Alex Karasulu
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Directory ApacheDS

Make partitions nestable: remove the nexus singleton!

Created: 01/Oct/04 06:52 AM   Updated: 27/Aug/08 07:14 PM
Return to search
Component/s: core
Affects Version/s: None
Fix Version/s: 2.5.0

Time Tracking:
Issue & Sub-Tasks
Issue Only
Not Specified

Issue Links:
Reference
 

Sub-Tasks  All   Open   

 Description  « Hide
I just got a great idea but it might be a little crazy. There is a problem with the current model where there can only be one (singleton) nexus way at the top of a system. This severly limits how the namespace can be partitioned. Because of BackingStore operation routing concerns to ContextPartitions, one cannot have two ContextPartitions having a suffix overlap. Basically ContextPartitions with suffixes like so are not allowed:

..o CP1 suffix is dc=apache,dc=org
..o CP2 suffix is ou=people,dc=apache,dc=org

Here's how the tree might look:

.............................[RootNexus]
................................/...\
............................[CP1]...[CP2]

The suffix of CP1 overlaps the suffix of CP2. Basically requests recieved under the CP2 suffix base have a tough time determining where they should route calls. To avoid this confusion there is the restriction mentioned above.

What if had a very special kind of nexus that was not a singleton and had a suffix associated with it? Furthermore this nexus can contain entries off of that suffix as well instead of just delagating their storage to partitions it bridges. This nexus could then eliminate the routing problem and remove the restriction. For the time being lets call this a ContextNexus. So we could have the following configuration:

..o CN1 suffix is dc=apache,dc=org
..o CP2 suffix is ou=people,dc=apache,dc=org

Here's how the tree might look:

.............................[RootNexus]
..................................|
................................[CN1]
..................................|
................................[CP2]

Here in this case entries like ou=groups,dc=apache,dc=apache and its contents would be stored in CN1 and so would the suffix dc=apache,dc=org. Now because of this extra level of routing decisions for routing cannot get confusing. We can then partition the namespace in any manner we see fit with minimal cost to performance.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no subversion log entries for this issue yet.