[SCM] CTDB repository - branch trans3 created - ctdb-1.0.108-71-g3d2d877
Ronnie Sahlberg
sahlberg at samba.org
Mon Dec 14 20:25:51 MST 2009
The branch, trans3 has been created
at 3d2d877d877146ca09a28a3a44f4840eb36fd377 (commit)
- Log -----------------------------------------------------------------
commit 3d2d877d877146ca09a28a3a44f4840eb36fd377
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 14:26:28 2009 +1100
Revert "Make fetch_locked more scalable"
This reverts commit 5736e17c139c9a8049e235429aeae0c6c9d0e93d.
commit ac06a0e042e7d024060d6e87a49bda9ccc072c52
Merge: ea9e39369379939abf6a4076fa2014c10c1a9ad0 c5a0aef668a63f927d6184612b13ce316eb4a0be
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 14:25:55 2009 +1100
Merge commit 'obnox/ctdb-wip-trans3' into trans3
commit c5a0aef668a63f927d6184612b13ce316eb4a0be
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 11 17:05:30 2009 +0100
Revert "recovery: add special pull-logic for persistent databases"
This reverts commit 8aef46d2aab3efb322dda51eaa202653cefd5222.
This special recovery logic is wrong now with the transaction rewrite.
The treatment of persistent databases will later be rewritten to use the
database sequence number.
Michael
commit 5736e17c139c9a8049e235429aeae0c6c9d0e93d
Author: Volker Lendecke <vl at samba.org>
Date: Wed Dec 9 15:11:45 2009 +0100
Make fetch_locked more scalable
This patch improves the handling of the fetch_lock operation on non-persistent
databases that ctdb clients have to do very frequently.
The normal flow how this goes is the following:
1. Client does a local fetch_lock on the database
2. Client looks if the local node is dmaster.
If yes, everything is fine
If no, continue here
3. Client unlocks the local record
4. Client issues a "get me the record" call to ctdbd
5. ctdbd goes out and fetches the dmaster role
6. ctdbd tells the client to retry
7. Client starts over again
The problem is between step 6 and 7: Before the client has had the chance to
retry (i.e. catch the record with a fetch_locked), another node might have come
asking ctdbd to migrate away the record again. This is a real problem, I've
seen >20 loops of this kind in real workloads.
This patch does the following: Whenever ctdb receives a record as result of
step 5, it puts the key on a "holdback list". As long as a key is on this list,
a request to migrate away the dmaster is put on hold. It is the client's duty
to issue the "CTDB_CONTROL_GOTIT" control when it has successfully done step 2
after having asked ctdb to fetch the record. This will release the key from the
"holdback list" and re-issue all dmaster migration requests.
As a safeguard against malicious clients, once a second (default 1000msecs,
tunable "HoldbackCleanupInterval" in milliseconds) ctdbd goes over the list of
held back keys, deletes them and releases all held back migration requests.
commit 844aa6300ee4d87561e698001ebc15ac1e455528
Author: Volker Lendecke <vl at samba.org>
Date: Thu Dec 10 13:02:29 2009 +0100
Import "talloc_array_length" from upstream talloc
commit 78ca29352aa39f4ef4e41096b92d55cb2e0d348a
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 11 16:39:58 2009 +0100
tests: temporarily disable the transaction test tool.
Make it return success for make test.
This is temporarily disabled until the rewrite of the
transaction code (in samba and the daemon) using the global
lock feature has been ported to the ctdb client code.
Michael
commit a7e3b5fac6b3f5d74473f26eb86c067b35647996
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 11 15:31:02 2009 +0100
Add a new control CTDB_GET_DB_SEQNUM - fetch a persistent db's sequence number.
Michael
commit 4b1dbcf0853bdc4832d39a477823ae34f216da52
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 11 14:19:55 2009 +0100
define CTDB_DB_SEQNUM_KEY - used with the new implementation of transactions.
Michael
commit 1640da1cab7e8b545367824204c82931f3346848
Author: Volker Lendecke <vl at samba.org>
Date: Wed Dec 9 17:20:23 2009 +0100
Tiny simplification of ctdb_queue_packet()
commit 6af5e74a21546d723008d69d6752ebebf898c947
Author: Volker Lendecke <vl at samba.org>
Date: Tue Dec 8 17:00:55 2009 +0100
Rename a struct member for clarity
commit f66428f9d2013080a414404c1ba6117888352fd6
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 3 17:59:49 2009 +0100
server: add a new control CTDB_CONTROL_TRANS3_COMMIT
This is a simplified version of the trans2 commit control:
It just rolls out the marshall buffer to all active nodes.
It is the main ctdbd part of the re-implementation of the
persistent transactions. The client code is changed to
take a global lock to start a transactions and store into
the marshal buffer instead of writing to the local tdb
under a local transaction.
The old transaction implementation is going to be
removed in a later commit.
Michael
-----------------------------------------------------------------------
--
CTDB repository
More information about the samba-cvs
mailing list