[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


To: ietf-provreg@cafax.se
From: Dave Crocker <dcrocker@brandenburg.com>
Date: Wed, 19 Sep 2001 08:05:44 -0700
In-Reply-To: <3CD14E451751BD42BA48AAA50B07BAD6C5FA60@vsvapostal3.prod.netsol.com>
Sender: owner-ietf-provreg@cafax.se
Subject: Re: Command Recovery (was RE: interpretation of 'EPP idempotency')

At 05:12 AM 9/19/2001, Hollenbeck, Scott wrote:
> >Well, a good OLTP system should also provide means for full recovery.
>
>No argument from me on that point.

As one would hope, the exchange on idempotency has been about "how", not 
"whether".

As I recall, Gray invented relational database methods, so a book on 
transaction processing, from him, ought to be more than adequate.

Given that:

1)      idempotency in transaction systems is something that has been 
around for a long time and is, presumably, well understood, and

2)      transaction systems are about exchanging things, just as protocols 
are about exchanging things, so the mechanisms for achieving idempotency 
should translate over to a protocol like EPP both easily and well.

therefore:

It should be straightforward to have EPP use a well-established technique 
from the transaction processing world, and the only debate should be about 
the tradeoffs among the well-established techniques for achieving idempotency.

Let me strongly encourage folks to cast the discussion strictly within that 
framework.

         -----

That was the primary point of this note.  Now...

Wandering into areas I know nothing about:

The protocol essences of indepotency would seem to be

a)      whether to add parameters, to achieve idempotency

         my own guess is that adding protocol features that are special for 
achieving idempotency is ok;

b)      whether to have special state changes.

         The latter means:  if an idempotent command previously succeeded 
at the server but is, for some reason, repeated by the client, should the 
server simply signal success or should it signal error.  Signalling success 
makes for a simpler state machine, since the client has no special 
processing to perform.  Hence the client would not be seeing, or 
participating in, "command recovery", but would merely be doing a command, 
the same as always.  The state machine in the server is essentially 
identical, except that rather than sending an error message it sends a success.

d/

----------
Dave Crocker  <mailto:dcrocker@brandenburg.com>
Brandenburg InternetWorking  <http://www.brandenburg.com>
tel +1.408.246.8253;  fax +1.408.273.6464


Home | Date list | Subject list