[SCM] CTDB repository - branch 1.2.40 created - ctdb-1.9.1-535-g0a9484c
Ronnie Sahlberg
sahlberg at samba.org
Sun Feb 5 16:50:42 MST 2012
The branch, 1.2.40 has been created
at 0a9484c20cb0d3cd58c0ffeabca81c7b9aeca12d (commit)
- Log -----------------------------------------------------------------
commit 0a9484c20cb0d3cd58c0ffeabca81c7b9aeca12d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Feb 6 09:22:37 2012 +1100
New version 1.2.40
commit a4888d22b56a149a323a7f1e50ddcb53a6fdd877
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Feb 1 09:32:02 2012 +1100
ReadOnly: update the loop test tool to print number of fetches per second
commit f0274a3551ae984df8fb08d0c366e67e7ef6eb28
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 28 13:38:32 2011 +1100
libctdb: dont allow ctdb_writerecord() for readonly records
commit 91f5dcc5699a9ea9052c8d3c3c619c1d90c0cd58
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 28 12:41:27 2011 +1100
ReadOnly: If record does not exist, upgrade to write-lock
If we attempt a readonly lock request for a record that do not exist (yet)
in the local TDB, then upgrade the request to ask for a write lock and force a
request for migrate the record onto the local node.
This allows the "only request record on second local request for known contended records"
heuristics to try to avoid creating readonly delegations unless we have good reason to
assume it is a contended record.
commit 22e370afff7e1d236020071fa3d505c9fd3cfbd8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Feb 1 10:26:41 2012 +1100
ReadOnly: add readonly record lock requests to libctdb
Initial readonly record support in libctdb.
New records are not yet created by the library but extising records will be
This needs a bit more tests before we can drop the "old style" implementatio
code in client/ctdb_client.c
commit 2b07390620c16ba6515a37071bfc8c4e4b0d9ce9
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 28 11:44:19 2011 +1100
ReadOnly: fix bug writing incorrect amount of data in delegated record
Fix bug when ctdbd updates the local copy of a delegated record to write the correct
amount of data to the record.
commit 97e6d4c0eb0acb8543cb870943a8145f7f9eb499
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 24 13:19:30 2011 +1100
ReadOnly DOCS: update the docs for readonly delegations to remove the passage that records are written/updated by the client
commit c8ddb201ae1e399d45669d16be333aa9d744878c
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 24 13:14:26 2011 +1100
ReadOnly: Dont update the record header from the calling client. While it is convenient since it avoids having to create a child process from the main dameon for writing the updated record it makes the cleitn more complex.
Remove the code in the example client code that writes the record to the local tdb.
Add code to the local ctdbd processing of replies to check if this reply contain a ro delegation and if so, spawn a child process to lock the tdb and then write the data.
commit d63dc590e329ed553a4436a6555d91ad3d9fb363
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Sep 13 18:47:18 2011 +1000
ReadOnly: revokechild_active is a list, not a context.
Dont reset the pointer to NULL after deleting the first entry, loop deleting one entry
at a time until they are all gone or we will leak some memory and possibly a process.
commit 70a7eebd580d1ff6d70528ec3890e9e9cc186ed5
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Sep 13 18:41:34 2011 +1000
fix some compiler warnings for the test tools
commit 44f142cb93690acba6df5ce303d6df85bd5ae6f8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Sep 13 18:38:20 2011 +1000
ReadOnly: Rename the function ctdb_ltdb_fetch_readonly() to ctdb_ltdb_fetch_with_header() since this is what it actually does.
commit 459e3d7e26ec3cbbbdb7be7333c7e5ce70ea7f00
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Sep 1 11:40:51 2011 +1000
ReadOnly: update the documentation about readonly locks
commit 9cf194a24ce5f8544ee989f07a6179a372e40b1e
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Sep 1 11:08:18 2011 +1000
ReadOnly: add a new control to activate readonly lock capability for a database.
let all databases default to not support this until enabled through this control
commit 96c4a06717a5792bf94b6c0c959117614a0e8b19
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Sep 1 10:28:15 2011 +1000
ReadOnly: add a readonly flag to the getdbmap control and show the readonly setting in ctdb getdbmap output
commit 33c305e37fae6f804a33df6de581e9c4e0838d1e
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Sep 1 10:21:55 2011 +1000
ReadOnly: Change the ctdb_db structure to keep a uint8_t for flags instead of a boolean for
the persistent flag.
This is the same size as the original boolean but allows ut to add additional flags for the database
commit 85281f60b6930a9b78fb864460db055d544d21df
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Aug 23 10:41:52 2011 +1000
ReadOnly: Check the readonly flag instead of whether the tdb pointer is NULL or not
commit 97205e83ef00ae73803cf310714cebb7807f425d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Aug 23 10:37:20 2011 +1000
ReadOnly: add description of readonly records
commit b208c4e032d4b19c4920828be27c2771f63bfcc0
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Aug 17 16:14:57 2011 +1000
ReadOnly: clear out the tracking record once a revoke is completed
commit fdbccb0b5000b88fb85e7a4148af8a230764934d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Jul 21 15:59:37 2011 +1000
ReadOnly: When the client wants a readwrite lock but the local node is the dmaster and also have delegations active we must send a CALL to the local daemon to trigger it to revoke the delegations
commit 1a70dd3587affca2cc84c96d107d90093eee885c
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Jul 21 15:58:56 2011 +1000
ReadOnly: Change the update_record test tool to use the new fetchlock routine that can do either normal or readonly fetchlock
commit 385e1e087577b843b56b12f6ea8ab4ddc9520ff1
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 15:47:15 2011 +1000
ReadOnly: Add a test tool that requests a readonly delegation in a loop
commit 613ddaf911746dff63f21df4bf4393443541aec3
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 15:43:55 2011 +1000
ReadOnly: Add a test tool to fetch a record, requesting a readonly delegation and lock the record once
commit b149112cbade3d6cae614873c4e4c4119439e1ea
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 15:37:37 2011 +1000
ReadOnly: Add clientside code to fetch readonly records
commit a6a601ba286f16527d90f695272b616c15003950
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 15:31:44 2011 +1000
ReadOnly: Add a ctdb_ltdb_fetch_readonly() helper function
commit a7b633ed1c1755e1afea13bbf9b3891d32200de3
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 15:17:29 2011 +1000
ReadOnly: Add handlign of readonly requests readwrite requests, delegations and revoking of delegation to the processing loop for CALL requests coming in from a local client via domain socket
commit 8e5d7609ec473059b3ae12f4e7ef911b4b1a2339
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 15:13:47 2011 +1000
ReadOnly: Add processing for ReadOnly delegation requests and revoke requests to the processing loop for CALL packets we receive from different nodes.
This implements the ReadOnly and ReadWrite request processing, delegation and revoking of delegations for all requests coming in across the network from a remote node.
commit bce124818f659d5cf14db953e23d0b47b59b6465
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 14:25:29 2011 +1000
ReadOnly: Once recovery has finished, make sure to free all revoke child processes and trigger the destructors for all deferred calls to re-queue the original packets to the input packet processing function
commit b9ddacf2652eedd74b244b50666113de6a2f50fb
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 14:23:05 2011 +1000
ReadOnly: When releasing all deferred calls that blocked during revoke of all previous delegations, add a 1 second grace/delay for any new readonly delegation requests so that the read-write fetch-lock porcess has a chance to make progress
commit 0ff8599518b6601e687d89e7e5413fd732d4d784
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 14:21:04 2011 +1000
ReadOnly: Add a new flag to call request packet to indicate that the client wants a readonly delegation
commit c6b5c69e771d62189f196c2c6a9321d218da1546
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Aug 23 10:27:31 2011 +1000
ReadOnly: Add a function to start a revoke of all delegations for a record.
This triggers a child process to be created to perform the actual potentially blocking calls that are required.
commit bc80b6f8575142b29e817c250d5a423d4b85e04d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 13:49:17 2011 +1000
ReadOnly: Add functions to register CALLs to a context used to handle deferal of processing of CALL commands.
Once the contexts are freed, the deferred calls are re-issued to the input packet processing functions again.
This is needed when/if a CALL can not currently be processed by the main engine due to the record being locked down for revoking of all delegations.
The data is passed through several layers of callbacks, and finally a timed event callback to ensure that the processing of the packet will be restarted again at the topmost eventloop, avoinding event loop nesting.
commit e50db7a113109265ec52a8a30eb49284ef8b9048
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 13:30:12 2011 +1000
ReadOnly: Add an extra flag to ctdb_call_local to specify whether we want to write the record and header back to the tdb (for example we do when performing dmaster migrations)
commit 791617f97546ad44f8ea6aaa042003d71106fa72
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 13:20:32 2011 +1000
ReadOnly: After recovering all databases, make sure to clear out the tracking database used to track delegations and revoke. This is because the recovery will implicitely result in a revoke of all delegations.
commit bcc62671898a6de53d380c80ad2f37f19ae16ec3
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 13:15:48 2011 +1000
ReadOnly: Add "readonly" flag to the ctdb_db_context to indicate if this database supports readonly operations or not. Add a private lock-less tdb file to the ctdb_db_context to use for tracking delegarions for records
Assume all databases will support readonly mode for now and se thte flag for all databases. At later stage we will add support to control on a per database level whether delegations will be supported or not.
commit 970ef8981f4c139d4a4dbfcf97085911b438fa14
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 13:08:21 2011 +1000
ReadOnly: After performing a recovery, clear out all flags related to readonly delegations and revoke
commit 486cc67ffd0406cc6b58f471fcc6cdf10b6e450b
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 12:30:33 2011 +1000
ReadOnly: Add a new command 'ctdb cattdb'. This fucntion differs from 'ctdb catdb' in that 'cattdb' will always traverse the local tdb file only, while 'catdb' does a cluster traverse.
Since some record flags may differ between nodes in the cluster when read only delegations are in use, cattdb is needed when you need to know the exact flag settings on the current node itself.
commit 48f8b76890e26c7adfd196a7df8c4ecd0ac685d7
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 12:21:33 2011 +1000
ReadOnly: Add printing of the record flags when we are traversing a database to print its content.
commit 682d536d2f018b6f743781ada17544797e866dbf
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 12:17:27 2011 +1000
ReadOnly: Add 4 new record flags to handle read only delegation and revoking of delegations
commit d3a11e9b36cb8f54dea1dac4453ad0e2225e270f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 12:13:53 2011 +1000
ReadOnly: add a new test tool that does a fetchlock on a record, then bunps the RSN by 10 and writes the new content to the record as sprintf("%d", rsn)
commit 807680f7a3a3f4a2e5199f8c1ccd972759dae456
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 12:06:37 2011 +1000
ReadOnly: Add clientside functions to send the UPDATE_RECORD control
commit 6844863c5d73dd26a401f1e14c9e6df3891ea604
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 11:50:14 2011 +1000
ReadOnly: Add test tool to validate the functions to manipulate and enumerate the bitmap of nodes to where we have readonly delegations
commit 61f82f7efe8ce6197f226fa4ed292ed63bc7af96
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 11:39:50 2011 +1000
ReadOnly: Add helper functions to manipulate a TDB_DATA as a bitmap for nodes that we are tracking as having a readonly delegation
commit 26c464ae80405e5bd62dc4e3faa3909388d4ae49
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jul 20 11:27:05 2011 +1000
ReadOnly records: Add a new RPC function FETCH_WITH_HEADER.
This function differs from the old FETCH in that this function will also fetch the record header and not just the record data
commit 3ea1879864cf286c51b70efde6ee06b9cd9bcf2b
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Nov 1 20:52:57 2011 +1100
LCP IP allocation algorithm - try harder to find a candidate source node
There's a bug in LCP2. Selecting the node with the highest imbalance
doesn't always work. Some nodes can have a high imbalance metric
because they have a lot of IPs. However, these nodes can be part of a
group that is perfectly balanced. Nodes in another group with less
IPs might actually be imbalanced.
Instead of just trying the source node with the highest imbalance this
tries them in descending order of imbalance until it finds one where
an IP can be moved to another node.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit f308b7027df9a6c35c845306ed7b72568ea6b81a
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Nov 1 19:49:38 2011 +1100
LCP IP allocation algorithm - new function lcp2_failback_candidate()
There's a bug in LCP2. Selecting the node with the highest imbalance
doesn't always work. Some nodes can have a high imbalance metric
because they have a lot of IPs. However, these nodes can be part of a
group that is perfectly balanced. Nodes in another group with less
IPs might actually be imbalanced.
Factor out the code from lcp2_failback() that actually takes a node
and decides which address should be moved to which node.
This is the first step in fixing the above bug.
Signed-off-by: Martin Schwenke <martin at meltin.net>
-----------------------------------------------------------------------
--
CTDB repository
More information about the samba-cvs
mailing list