You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Rajesh <ra...@vimukti.com> on 2011/06/29 13:06:51 UTC

Support for Transactions

Hi,

I believe that Partitions does not support transactions as of now. Is there
any plan for implementing Transactions on JDBM Partition?

If I want to add that fuctionality, what do I need to know?

Rajesh

Re: Support for Transactions

Posted by Emmanuel Lecharny <el...@gmail.com>.
On 6/29/11 2:47 PM, Rajesh wrote:
> Tell me if I am wrong. There can be multiple indexes for a
> partition(depending on which attributes user wants to index)
Right.
> and each index
> is a different file. So it is possible that some indexes are updated and
> others are not updated when power goes/ of program is killed.
yes. Bt this is not an issue. In this case, the index can be rebuilt 
from the master table, using the configuration which describes the index 
we need.
> I did not find any transaction log implementation also. Do it is correct to
> assume that it is possible for some indexes or even the Master Table get
> corrupted(Partially updated) when some system failure happens?
yes, but this has nothing to do with transaction. The only thing is that 
the system *must* be able to guarantee that when started, the indexes 
will be correctly updated. We have a journal mechanism for that, where 
each modification is tagged as ACK'ed when the backend is done.


Note that it is currently being refactored heavily in 2.0. Also note 
that's really really a bit more complex than just having a journal...


-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com


Re: Support for Transactions

Posted by Rajesh <ra...@vimukti.com>.
Tell me if I am wrong. There can be multiple indexes for a
partition(depending on which attributes user wants to index) and each index
is a different file. So it is possible that some indexes are updated and
others are not updated when power goes/ of program is killed.

I did not find any transaction log implementation also. Do it is correct to
assume that it is possible for some indexes or even the Master Table get
corrupted(Partially updated) when some system failure happens?

Rajesh

On Wed, Jun 29, 2011 at 5:19 PM, Emmanuel Lécharny <el...@apache.org>wrote:

> On 6/29/11 1:31 PM, Rajesh wrote:
>
>> So single modification in ADS in ACID complaint? I have been seeing the
>> source code for more than a month. But could not identify the code what
>> make
>> it ACID complaint. Can you point me to some classes?
>>
> No, I can't it's a bit more complex that just pointing you to a class. Each
> partition implementation has to take care of that, and they do by applying
> the change in one shot (the entry is just added, deleted or replaced as a
> whole). It's done in a synchronized block.
>
>
>
> --
> Regards,
> Cordialement,
> Emmanuel Lécharny
> www.iktek.com
>
>

Re: Support for Transactions

Posted by Rajesh <ra...@vimukti.com>.
So single modification in ADS in ACID complaint? I have been seeing the
source code for more than a month. But could not identify the code what make
it ACID complaint. Can you point me to some classes?

Rajesh

On Wed, Jun 29, 2011 at 4:49 PM, Emmanuel Lecharny <el...@gmail.com>wrote:

> On 6/29/11 1:06 PM, Rajesh wrote:
>
>> Hi,
>>
>> I believe that Partitions does not support transactions as of now.
>>
>
> They don't.
>
>  Is there
>> any plan for implementing Transactions on JDBM Partition?
>>
> No, not really. At least, not now.
>
>
>  If I want to add that fuctionality, what do I need to know?
>>
> Yu need to know that it's really a complex issue, and that it impacts the
> whole server. Plus I think that many people are confusing RDBMS transactions
> with what a LDAP transaction can be. ATM, you have at least one guarantee :
> a modification in ADS (be it an addition, deletion, modification, rename or
> move) is guaranteed to be done in a ACID way.
>
> The only missing aspect is that modifications done on more than one entry
> is not considered as guaranteed to be eithe rall done or all rollbacked.
> There is a recent RFC (http://tools.ietf.org/html/**rfc5805<http://tools.ietf.org/html/rfc5805>)
> which stipulates how it should work, but says nothing about the
> implementation.
>
> I'm not sure that any LDAP server implements usch transaction atm, and I'm
> quite sure that those who claim to implement transactions just guarantee
> that atomic modifications are ACID. But I may be wrong.
>
> The most advanced peeps around in this area should be the OpenLDAP guys.
> Howard ?
>
>
> --
> Regards,
> Cordialement,
> Emmanuel Lécharny
> www.iktek.com
>
>

Re: Support for Transactions

Posted by Emmanuel Lecharny <el...@gmail.com>.
On 6/29/11 1:06 PM, Rajesh wrote:
> Hi,
>
> I believe that Partitions does not support transactions as of now.

They don't.
> Is there
> any plan for implementing Transactions on JDBM Partition?
No, not really. At least, not now.

> If I want to add that fuctionality, what do I need to know?
Yu need to know that it's really a complex issue, and that it impacts 
the whole server. Plus I think that many people are confusing RDBMS 
transactions with what a LDAP transaction can be. ATM, you have at least 
one guarantee : a modification in ADS (be it an addition, deletion, 
modification, rename or move) is guaranteed to be done in a ACID way.

The only missing aspect is that modifications done on more than one 
entry is not considered as guaranteed to be eithe rall done or all 
rollbacked. There is a recent RFC (http://tools.ietf.org/html/rfc5805) 
which stipulates how it should work, but says nothing about the 
implementation.

I'm not sure that any LDAP server implements usch transaction atm, and 
I'm quite sure that those who claim to implement transactions just 
guarantee that atomic modifications are ACID. But I may be wrong.

The most advanced peeps around in this area should be the OpenLDAP guys. 
Howard ?


-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com