Hi all,
I'm dealing with two really tough problems at the moment. Both center
around handling search operations while factoring in schema. The
following two issues concern defects in how ApacheDS conducts search:
http://issues.apache.org/jira/browse/DIREVE-276
http://issues.apache.org/jira/browse/DIREVE-277
Emmanuel you had one of these slated for RC1 but I think both are pretty
severe issues that impact ApacheDS' 2251 compliance in a major way. As
a side discussion to this thread we should probably discussion whether
or not we want both these issues resolved before RC1.
Here's a quick summary of each issue:
DIREVE-276:
----------------
A search filter with a superior objectClass (objectClass=person) does
not match for entries of the subordinate objectClass
(objectClass=organizationalPerson) if the entry does not contain all
ancestors as values in the objectClass attribute. Right now it is legal
for me to create an entry that is just an inetOrgPerson without
including organizationalPerson, person and top within the objectClass
attribute. I don't know if this is legal according to 2251 after
several passes. My impression has been that this is valid since all
superior objectClasses are implied. Can anyone confirm this?
Anyway this is a major issue because it effects the semantics of search
operations.
DIREVE-277:
----------------
This is a similar problem. A search filter with a superior
attributeType will not match subtypes with the same value. So for
example (name=Alex) will not match an entry in scope with attribute
givenName with value of 'Alex'. Again this effects search semantics
where we are clearly not compatible with 2251.
I have put together a page about these problems with detailed
information about possible solutions and how the search algorithm works
with each solution. This is a really tough problem that will effect
ApacheDS' operation in a major way so any ideas or recommendations are
more then usually welcome. Here's a link to the page:
http://docs.safehaus.org/display/APACHEDS/Search+Issues
Thanks,
Alex