diff options
author | Michael Adam <obnox@samba.org> | 2009-12-11 14:07:28 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2010-02-12 23:12:10 +0100 |
commit | 3fe7ce141d6afe3825b06c5feb90558911e4df1e (patch) | |
tree | acf00fa72a228a61596e638275cfd7251c82b9b5 /source3/passdb/passdb.c | |
parent | 26225d3e798892b39b3c238b0bee465bffac6550 (diff) | |
download | samba-3fe7ce141d6afe3825b06c5feb90558911e4df1e.tar.gz samba-3fe7ce141d6afe3825b06c5feb90558911e4df1e.tar.bz2 samba-3fe7ce141d6afe3825b06c5feb90558911e4df1e.zip |
s3:dbwrap_ctdb: maintain a database sequence number that bumps in transactions
For persistent databases, 64bit integer is kept in a special record
__db_sequence_number__. This record is incremented with each completed
transaction.
The retry mechanism for failing TRANS3_COMMIT controls inside the
db_ctdb_transaction_commit() function now relies one a modified
behaviour of ctdbd's treatment of persistent databases in recoveries.
Recently, a special treatment for persistent databases had been
introduced in ctdb (1.0.108) to work around the problems with the
orinal design of persistent transactions.
Now with the rewrite we need to revert to the old behaviour that
ctdb always takes the newest copies of all records.
This change also paves the way for a next step, which will make
recovery use the db seqnum to tell which node has the newest copy
of a persistent db and use that node's copy. This will greatly
reduce the amount of data transferred with each recovery.
Michael
Diffstat (limited to 'source3/passdb/passdb.c')
0 files changed, 0 insertions, 0 deletions