Re: [ldapext] Fwd: I-D ACTION:draft-zeilenga-ldap-incr-00.txt

"Kurt D. Zeilenga" <Kurt@OpenLDAP.org> Thu, 21 October 2004 18:00 UTC

Received: from megatron.ietf.org (megatron.ietf.org [132.151.6.71]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id OAA29572 for <ldapext-archive@lists.ietf.org>; Thu, 21 Oct 2004 14:00:28 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CKgzt-0005sI-1k; Thu, 21 Oct 2004 13:45:09 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CKgm5-0005kh-AB for ldapext@megatron.ietf.org; Thu, 21 Oct 2004 13:30:53 -0400
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id NAA26095 for <ldapext@ietf.org>; Thu, 21 Oct 2004 13:30:49 -0400 (EDT)
Received: from router.boolean.net ([198.144.206.49] helo=pretender.boolean.net ident=root) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CKgyj-0000bg-SU for ldapext@ietf.org; Thu, 21 Oct 2004 13:43:58 -0400
Received: from gypsy.OpenLDAP.org (kurt@localhost [127.0.0.1]) by pretender.boolean.net (8.12.10/8.12.11) with ESMTP id i9LHUZZv010989; Thu, 21 Oct 2004 17:30:35 GMT (envelope-from Kurt@OpenLDAP.org)
Message-Id: <6.1.2.0.0.20041021101612.02d7f2d0@127.0.0.1>
X-Sender: kurt@127.0.0.1
X-Mailer: QUALCOMM Windows Eudora Version 6.1.2.0
Date: Thu, 21 Oct 2004 10:31:13 -0700
To: David Boreham <david_list@boreham.org>
From: "Kurt D. Zeilenga" <Kurt@OpenLDAP.org>
Subject: Re: [ldapext] Fwd: I-D ACTION:draft-zeilenga-ldap-incr-00.txt
In-Reply-To: <04e301c4b78d$317ffe40$da529145@mtbrook.bozemanpass.com>
References: <6.1.2.0.0.20041020175617.033b0df8@127.0.0.1> <043201c4b780$7695c440$da529145@mtbrook.bozemanpass.com> <6.1.2.0.0.20041021090823.02d578b0@127.0.0.1> <04e301c4b78d$317ffe40$da529145@mtbrook.bozemanpass.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 244a2fd369eaf00ce6820a760a3de2e8
Cc: ldapext@ietf.org
X-BeenThere: ldapext@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: LDAP Extension Working Group <ldapext.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ldapext>, <mailto:ldapext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ldapext>
List-Post: <mailto:ldapext@ietf.org>
List-Help: <mailto:ldapext-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ldapext>, <mailto:ldapext-request@ietf.org?subject=subscribe>
Sender: ldapext-bounces@ietf.org
Errors-To: ldapext-bounces@ietf.org

Like LDAP, this extension to LDAP is designed to be used
in directory systems which act in accordance with X.500.
If one is using this extension in a system which doesn't
adhere single-master aspects of the X.500 data model,
lots of more than this operation will lead to application
problems.  I discuss these problems in
draft-zeilenga-ldup-harmful (currently expired, I will
refresh shortly).

For instance, applications which incrementing values using
Modify-Delete+Add would suffer from the lack of ACID
properties in the multi-master system.  Likewise, applications
which used Modify-Increment would suffer from the lack
of ACID properties in the multi-master systems.

In LDAP, clients may presume server is acting in accordance
with the X.500 data model.  If the server is unable or
unwilling to do that, then it should not provide service.
Clients which do desire an alternative service model
should explicit request that model (through a request
control or other mechanism).  And, as far as how to perform
this operation (or any other operation) within an
alternative service model, I will leave that those who
desire to specify alternative service models.

Kurt



At 09:44 AM 10/21/2004, David Boreham wrote:
>>At 08:13 AM 10/21/2004, David Boreham wrote:
>>>Is it intended that this feature work with replication ?
>>Yes.  The client can update the master using Modify-Increment.
>>The master can then replicate the DIT change to shadows
>>(and these to other shadows).  If the replication protocol
>>supports expression of an Modify-Increment change, that can
>>be used directly.  Otherwise, the change can be expressed
>>as one would a Modify-Replace.
>>We support two replication protocols in OpenLDAP.  In
>>one (a log-based push protocol), the Modify-Increment
>>capability of that protocol is used.  In the other (a
>>state-based pull protocol), the resulting DIT values
>>are transferred.
>
>I see. So in some cases this feature wouldn't work (in that it would no longer guarantee atomicity) ?
>In the case that you do use an atomic replication propagation
>operation, what happens when two clients have independently successfully completed
>a supposedly atomic increment operation upon two different servers ? Is it sufficient that one client
>receives the wrong result (at least wrong in that
>another client could receive exactly the same value,
>talking to another server) ?
>
>Should there be a way for clients to discover if the
>feature will work or not ? (or perhaps it shouldn't be
>enabled on servers that are participating in replication
>mechanisms that renders its effects non-atomic?).
>
>
>
>_______________________________________________
>Ldapext mailing list
>Ldapext@ietf.org
>https://www1.ietf.org/mailman/listinfo/ldapext


_______________________________________________
Ldapext mailing list
Ldapext@ietf.org
https://www1.ietf.org/mailman/listinfo/ldapext