[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Following referrals



I would also like to see this clarified since I found it confusing/unenlightening when I first read RFC 2251. Roland's suggestion of:

Following any of the URLs will eventually give you a set of entries which SHOULD
be the same, even though the content (attributes and attribute values) of the entries
might not.

sounds good.  We also need to keep in mind that referrals on update operations suffer from similar issues. An update operation might return a referral result where one or more of the URLs are for server(s) where

(a) the entry to be updated is not present because the replica is sparsely populated
(b) one or more of the attributes to be modified are not present because the replica is fractional
(c) the entry cannot be updated because the replica is read-only

When we say "equally capable" it seems that we should mean that none of these conditions should exist for URLs returned in a referral. If we cannot guarantee this, at least (c) should never happen.

Roger

>>> Roland Hedberg <roland@catalogix.se> 11/16/00 03:16AM >>>
On Wed, Nov 15, 2000 at 03:51:58PM -0700, Jim Sermersheim wrote:
> I need to understand this statement from RFC 2251 section 4.1.11:
> 
> "All the URLs MUST be equally capable of being used to progress the operation"
> 
> On one hand, this seems to say that the server that issues a referral, MUST ensure that 
> that server is running and capable of servicing the operation, or capable of returning a
> referral to yet another server.

This is clearly an impossible demand.

> On the other hand, it doesn't say that at all, it simply says all URLs are "equally" 
> capable of being used... This implies that they may all be equally incapable as well 
> (it only states that their capability is equal, not that their capability is at some
> specified level). Pedantic bufoonery, I know.
> 
> If the former is the intention (and I know, this is outside the scope of the document), how is
> this a reasonable requirement if we want servers to work in a heterogeneous environment? 
> What reasons exist that prevent us from changing this MUST to a SHOULD?

IMO the intention is that whichever URL the client uses, given that the LDAP server
that is pointed at is up an running and capable of servicing the operation, the
end result, which might be reached after following several more referrals, 
would be the same.

When you think about it, this is a rather difficult task to accomplish.

What if you have a master and a slave where the slave only replicates certain 
attributes. Clearly a query given to the master and the slave might return
different answers, hence given the definition in RFC2251 and my interpretation,
they ought not to be put in the same continuation reference.

Or should the MUST be changed to a SHOULD and the intention be that:

Following any of the URLs will eventually give you a set of entries which SHOULD
be the same, even though the content (attributes and attribute values) of the entries
might not.

Given the discussion in LDUP is it reasonable to aim for anything better ???

-- Roland
-------------------------------------------------
Jegerveien 25            Telephone: +47 23 08 29 96
0777 Oslo                Mobile(NO): +47 90 66 44 52
Norway	                 Mobile(SE): +46 70 52 04 20 3