directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Seelmann <seelm...@apache.org>
Subject Alias issues
Date Tue, 05 May 2009 22:15:13 GMT
Hi guys,

When trying to add an alias entry which aliasedObjectName points to an
non-existing entry, this is refused by the server. That's OK to avoid an
inconsistent state.

However it is possible to
- add a real entry, say "ou=people,dc=example,dc=com"
- add an alias to it, say "ou=users,dc=example,dc=com"
- delete the real entry "ou=people,dc=example,dc=com"
After that the alias "ou=users,dc=example,dc=com" still exists and its
aliasedObjectName still contains "ou=people,dc=example,dc=com", but that
doesn't exist. Now when deleting this alias I get an NPE when dropping
the subAliasIdx.

I'd like to discuss the possible solutions:

1. Reject deletion of an entry, when an alias points to this entry. This
is easy to check in the JdbmStore using the aliasIdx.

2. Automatically delete all alias entries that point to the entry that
should be deleted (cool, some kind of cascade delete). This is also easy
to implement in JdmbStore.

3. Keep the current sitation, but then we need to add some error
handling for the aliasIdx, oneAliasIdx and subAliasIdx, what is painful
IMHO.

Thoughts?

Please note that this is JDBM-specific and all handled within the
JdbmStore. Other partition implementations need to re-implement this
logic or may work different. Otherwise we must move this checks to a
higher level, i.e. to the interceptor chain.

Kind Regards,
Stefan

Mime
View raw message