Subject: RE: Abandon Modify

From: "Jim Sermersheim" <[email-masked]>
Date: Tue, 16 Jul 2002 22:38:41 -0600

I'm proposing this for the last paragraph of 4.1.1.1 (Message ID)
A client MUST NOT send a request with the same message ID as an earlier
request on the same connection unless it can be determined that the
server is no longer servicing the earlier request. Otherwise the
behavior is undefined. For operations that do not return responses
(unbind, abandon, and abandoned operations), the client assumes the
operation is in progress until a subsequent bind request completes.

I'm proposing this change/addition to 4.11 (Abandon Operation)
There is no response defined in the Abandon Operation. Upon
transmission of an Abandon Operation, a client may expect that the
operation identified by the Message ID in the Abandon Request will be
abandoned. If an operation is abandoned by the server, the response to
the abandoned operation is not sent. 

Abandon and Unbind operations cannot be abandoned. Servers may not
allow other operations to be abandoned (or immediately abandoned), in
particular update operations, or operations that have been chained.

>>> "Kurt D. Zeilenga" <[email-masked]> 07/10 2:22 AM >>>
At 09:03 PM 2002-07-08, Ramsay, Ron wrote:
>It seems a pity that the document actually precludes sending a search
done
>in response to abandon. It makes sense for dumb-terminal applications
but
>not for more sophisticated processing - when should you relase the
context?

No.  That would be a significant change in semantics of the
Abandon operation.

I think we, minimally, need to:
        a) further restrict reuse of message ids,
        b) clarify that servers are to ignore the abandon request
        where it is unwilling or unable to honor the request, and
        c) clarify that clients may receive responses to
        operations which they requested to be abandoned but
        which the server did not abandoned.

>But to address the issue at hand, I believe that all updates have to
be
>confirmed. X.500 doesn't allow updates to be abandoned, and I don't
see how
>you can argue against this. But, if you want to allow it, you then
have to
>introduce the 'abandoned' error.

I don't believe it appropriate to change the semantics of the
LDAP Abandon operation.  If the DAP Abandon semantics are desired,
an operation which provides these semantics should be introduced
(see draft-zeilenga-ldap-cancel-xx.txt).

I am also concerned that the LDAP Abandon use with update
operations.  I believe this is best addressed by either prohibiting
or recommending against use of the LDAP Abandon to abandon update
operations.

Kurt

---

From: Mark Smith <[email-masked]>
Date: Wed, 17 Jul 2002 09:13:55 -0400

> operation is in progress until a subsequent bind request completes.

That looks OK to me.

> the abandoned operation is not sent. 

I think the second sentence above implies that the server will honor all 
abandon requests, which we know is not true. How about this instead?

   There is no response to an AbandonRequest. Upon transmission
   of an AbandonRequest, a client may expect that the server will
   attempt to abandon the operation identified by the Message ID in
   the request. Servers do not send responses to operations that
   are successfully abandoned.

> particular update operations, or operations that have been chained.

I agree with Ron that the "may not" is less clear than other wording 
might be. I also think the examples provided of when a server might 
ignore or delay processing of AbandonRequests should be clearly labeled 
as examples. Here is my suggestion:

   Abandon and Unbind operations cannot be abandoned. Also,
   at its discretion, a server may ignore or delay processing
   of AbandonRequests that target operations that it is unable
   or unwilling to abandon. For example, some servers may
   ignore requests to abandon update operations and some may
   delay honoring AbandonRquests that target chained operations.

--
Mark Smith
AOL Strategic Business Solutions
My words are my own, not my employer's.