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


To: ietf-provreg@cafax.se
From: Thomas Corte <Thomas.Corte@knipp.de>
Date: Mon, 17 Sep 2001 18:44:34 +0200 (MESZ)
Sender: owner-ietf-provreg@cafax.se
Subject: interpretation of 'EPP idempotency'


Hello,

as stated in draft-ietf-provreg-epp-04.txt, the EPP features
'protocol idempotency' to ensure 'the safety of retrying a command in
cases of response delivery failure'.
However, the implications of this feature is not specified in detail.

My interpretation is that a command should cause changes in a registry's
object repository only *once*. Repeating the very same command afterwards
should only have effect on the repository if the EPP server has not yet
processed it (e.g., because the first submission did not reach the server
due to network problems). If it has been seen and processed already (e.g.,
the command has only been re-submitted because the EPP server's response
got lost on the way back to the client), then the command should *not* be
executed again; instead, the response to the original command could simply
be repeated by the EPP server.

Question: Is the behaviour described above meant be the term 'idempotency'
in the EPP draft?


If this is *not* the case, then I wonder about the correct interpretation
and it's implications for, e.g., safe recovery from network problems.

If this *is* the case, the next question would be how to distinguish 'the
same command' from 'a different command with the same data', e.g. for
creating two contact objects for the same person. In my opinion, the only
way to accomplish this is the use of the 'client transaction id' provided
by the EPP. If it was desired to create two separate contact objects with
the same data, two different client transaction ids would have to be used.
If a contact creation was only to be repeated because of a lost server
answer, then the same client transaction id as in the initial submission
would have to be given, giving the EPP server the opportunity to detect
a repeated command.

Can the client transaction id be used for this purpose?

Regards,

_____

Thomas Corte
<thomas@knipp.de>


Home | Date list | Subject list