directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <elecha...@gmail.com>
Subject Re: TXN work update
Date Thu, 20 Oct 2011 14:14:56 GMT
On 10/20/11 3:24 PM, Selcuk AYA wrote:
> Continuing the previous incomplete email:)
> Emmanuel wants to update the txns branch and I think it is a good time
> to give a good status update. Following is what I have been doing and
> the plan:
>
> *Log Manager: A general log manager that can be used by txns as well.
> Note that these logs are on disk. This is tested.
>
> *Txn and Txn log manager:Most of the services that should be provided
> by the txn manager is coded:
>         *begin, commit, abort of txns
>         * keeping track of changes for read-write txns.
>        *expose interface for txns to wal their changes.
> One service missing here is keeping track of the read/changed Dn set
> to do txn verification and conflict detection for read-write txn.
>
> *Master table, index and index cursor wrappers: These provide
> transactionally consistent views of entries and index data. They merge
> what they read from their wrapped objects with the txn log manager. To
> make this easier, txn manager keeps track of index changes for a
> read/write txn in a summary form. One thing to note is that not all
> information that wrappers expose is transactionall consistent. One
> example is count methods. No need to %100 accurate on this. For these
> cases, the wrapper just calls the wrapped object.
>
> *For all the above, interfaces are defined in core-api and
> implementations and internal interfaces are in core. Also moved,
> index, indexcursor, table and related interfaces and helper classes to
> core-api from xdbm-partition.
>
> The todo is the following:
> *add changes to keep track of dn space changes.
> *test txn manager services
> *move the modification code path in AbstractBTreePartition in xdbm to
> high up to core. Probably modifications should be done in
> partitionNexus and partition nexus should handle preparing txn log
> edits and wal them. The overall flow for modifications will be:
>     -DefaultDirectoryService:
>            -begintxn
>                              -execute interceptor chain
>            - handle txn abort, or conflict.
>
> *move xdbm-search to core as well. Making search transactional will
> mostly be mostly mechanica after this point I think(hope). It should
> just use the wrappers the txn manager provides for index, master and
> cursors it gets from the partitions.
>
> *handle caches various interceptors keep. I am thinking of handling
> this with a common read-write lock.
>
> regards
> Selcuk
>
> On Thu, Oct 20, 2011 at 4:05 PM, Selcuk AYA<ayaselcuk@gmail.com>  wrote:
>> Hi all,
>>
>> Emmanuel wants to update the txns branch and I think it is a good time
>> to give a good status update. Following is what I have been doing and
>> the plan:
>>
>> *Log Manager: A general log manager that can be used by txns as well.
>> Note that these logs are on disk. This is tested.
>>
>> *Txn Manager:Most of the services that should be provided by the txn
>> manager is coded:
>> begin, commit, abort, keeping
>>
Awsome !

I'm going to merge the changes we have done in trunk into your branch. 
It should not have too much impacts, as you are working in some 
different areas.

At least, it will alleviate us the pain to do it when the branch will be 
ready.

Many thanks !

-- 
Regards,
Cordialement,
Emmanuel L├ęcharny
www.iktek.com


Mime
View raw message