[SCM] CTDB repository - branch master updated - ctdb-1.12-145-g809d1f3
Michael Adam
obnox at samba.org
Fri Dec 23 09:44:23 MST 2011
The branch, master has been updated
via 809d1f3b8a9232fce0376cb47e4f633b49237529 (commit)
via 40ca781b3305d9f0bfee5b109d4eefde461a3f13 (commit)
via db59ac2ee6a9f5f7f088ebbc5e2800d9e57aae17 (commit)
via 2c44c6dc583872c603a399afb01936abcbb05158 (commit)
via ae78e8d991636a3a79dd9fbcefc15032afb08f55 (commit)
via 6e6aaba28ac560d51d7450ebcf99babf868d0aea (commit)
via 772e08c29ef70a4cc73f7887939e5071a90a98cb (commit)
via bec2ff46402b6d90521c75e8d46b9f6f2f47239a (commit)
via 4f23976fad3de63a47cf81d26dff1973d025e262 (commit)
via 4ed94279f243729d521d365a44607fd086ae7c41 (commit)
via 583cbf1bf8f6b1a805d77a2a1d521015868c7828 (commit)
via 295168d99183d2d21f27a8ac6825d421fa866b28 (commit)
via d8ab86f0eb11437e50d18183858dd3177a8f61e6 (commit)
via 1a7d9b25fdcf7b59598618d406c2a681c90d9163 (commit)
via 07f1ba54b1617fadd6fe83826dd8e76f37cea071 (commit)
via 1963e33859e9dc51e9e88664c6d95e62c7c8b8be (commit)
via 11f52ba18370f1dda983f2263f9af82045b4fdea (commit)
via cf68b762432a18e4a3cda137591b3f005c196906 (commit)
via 905fc9cd7126ab84c23d4a803c59e32b9c54e6f0 (commit)
via e31594e0c13899e88013ce7eb7e3dc434c2f0723 (commit)
via 6596f2c4a6b4783b6498502fbbf50f87d4f59085 (commit)
via f686bc440560074c1ce866f2037ae3671f182185 (commit)
via 09c55b76c96c4ab3fe812763007b81cf0a2ac86c (commit)
via 019106e035520e6b3e5702b6e76d910626c3df13 (commit)
via 48fe56ea27e3649ae7a67257fdce54f973e7c3c5 (commit)
via e71afbf731f06a3b89b64220c7fd1b1ea5492d4a (commit)
via 8fc4d5018ee6eee8856634095694d3ad0de5b4ae (commit)
via ea3e640a28178ddcb85285f4efec62ccba2483d9 (commit)
via 536aad024d52f2c32dd397fc86294c963b91341b (commit)
via 0ed349c24c7399b3b440c1f5d573db77ddb988b3 (commit)
via 7c5b27bc8dce9e30f2aff05297113da981f7b9a3 (commit)
via 970b8fc60857ad2f18f45312d355c571fb2f0246 (commit)
via a5a29bf92b23e9b5a1523b06461eced422b22ffe (commit)
via 78530f40338f511a7cd1d33ada450905742bfa8f (commit)
via 1f62afbe1ae0b3e7dbad4081d1b51e3ab6ee5c39 (commit)
via e40fa9efd1c77aa35c917aba6e6e4d21d9c5cdea (commit)
via 621c3ce957cb946ca05a2d527c037746ae2f01d3 (commit)
via d93750ea3f5cb854e5893e53795fd08656e7c12c (commit)
via 489148e465e2b8aed87ea836e3518f43490671ca (commit)
via a5065b42a98c709173503e02d217f97792878625 (commit)
via 8b0caaeed154d26c67a73659d3bbbdd63b21be11 (commit)
via 6c4d1b768ccade344a7462ecad7cf5cbbf3873d4 (commit)
from 00373958a5d5fb8c9b99548d5b9f327e78669162 (commit)
http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 809d1f3b8a9232fce0376cb47e4f633b49237529
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 23 17:23:07 2011 +0100
vacuum: improve logging in remove_record_from_delete_queue()
commit 40ca781b3305d9f0bfee5b109d4eefde461a3f13
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 23 17:22:46 2011 +0100
vacuum: improve logging in delete_record_traverse()
commit db59ac2ee6a9f5f7f088ebbc5e2800d9e57aae17
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 23 17:10:20 2011 +0100
vacuum: improve logging in insert_record_into_delete_queue()
commit 2c44c6dc583872c603a399afb01936abcbb05158
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 23 17:08:28 2011 +0100
vacuum: improve debugging in delete_queue_traverse()
commit ae78e8d991636a3a79dd9fbcefc15032afb08f55
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 23 15:14:06 2011 +0100
vacuum: add debug message to insert_record_into_delete_queue() for failed insert
commit 6e6aaba28ac560d51d7450ebcf99babf868d0aea
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 23 10:37:25 2011 +0100
vacuum: improve debugging in insert_record_into_delete_queue()
commit 772e08c29ef70a4cc73f7887939e5071a90a98cb
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 23 00:14:18 2011 +0100
vacuum: initialize (to zero) the vacuum fetch list in ctdb_vacuum_init_vacuum_data()
commit bec2ff46402b6d90521c75e8d46b9f6f2f47239a
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 22 15:46:49 2011 +0100
vacuum: add statistics output for processing of the delete list
commit 4f23976fad3de63a47cf81d26dff1973d025e262
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 14:48:38 2011 +0100
doc:ctdb.1: add generated files after update
commit 4ed94279f243729d521d365a44607fd086ae7c41
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 22 13:05:26 2011 +0100
doc:ctdb.1: explain that "ctdb listvars" does not list obsolete tunables any more
commit 583cbf1bf8f6b1a805d77a2a1d521015868c7828
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 14:47:42 2011 +0100
doc:ctdb.1: adapt example output of "ctdb listvars" to current state
commit 295168d99183d2d21f27a8ac6825d421fa866b28
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 22 12:13:10 2011 +0100
ctdb-tool: adapt formatting of "listvars" output to lenght of longest name
commit d8ab86f0eb11437e50d18183858dd3177a8f61e6
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 22 12:52:55 2011 +0100
tunables: don't list obsolete tunables in the list_tunables control
commit 1a7d9b25fdcf7b59598618d406c2a681c90d9163
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 22 12:46:04 2011 +0100
tunables: add a bool obsolete flag to the tunable_map list
commit 07f1ba54b1617fadd6fe83826dd8e76f37cea071
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 20 15:58:34 2011 +0100
vacuum: add a comment explaining a race in the vacuum code.
commit 1963e33859e9dc51e9e88664c6d95e62c7c8b8be
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 20 15:50:51 2011 +0100
vacuum: factor out initialization of the vacuum data from ctdb_vacuum_db()
for readability
commit 11f52ba18370f1dda983f2263f9af82045b4fdea
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 16 23:16:27 2011 +0100
vacuum: streamline ctdb_process_delete_list()
Reducing indentiation and improving use of talloc.
commit cf68b762432a18e4a3cda137591b3f005c196906
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 16 23:15:51 2011 +0100
vacuum: factor processing of the delete list out of ctdb_vacuum_db()
commit 905fc9cd7126ab84c23d4a803c59e32b9c54e6f0
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 16 17:00:07 2011 +0100
vacuum: factor processing of vacuum fetch lists out of ctdb_vacuum_db()
commit e31594e0c13899e88013ce7eb7e3dc434c2f0723
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 16 11:04:13 2011 +0100
vacuum: factor out full vacuum run out of ctdb_vacuum_db() as ctdb_vacuum_db_full()
commit 6596f2c4a6b4783b6498502fbbf50f87d4f59085
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 16 10:59:26 2011 +0100
vacuum: factor out the fast vacuuming run into ctdb_vacuum_db_fast()
for readability
commit f686bc440560074c1ce866f2037ae3671f182185
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 16 10:53:26 2011 +0100
vacuum: rename delete_tree to delete_list
It is not important for the user that this is implemented as a tree.
commit 09c55b76c96c4ab3fe812763007b81cf0a2ac86c
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 16 10:49:41 2011 +0100
vacuum: appropriately rename vdata.list to vdata.vacuum_fetch_list
commit 019106e035520e6b3e5702b6e76d910626c3df13
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 16 10:46:54 2011 +0100
vacuum: introduce a helper variable for the vacuum fetch list in ctdb_vacuum_db()
commit 48fe56ea27e3649ae7a67257fdce54f973e7c3c5
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 16 10:43:06 2011 +0100
vacuum: introduce a helper variable in add_record_to_vacuum_fetch_list() to reduce verbosity
commit e71afbf731f06a3b89b64220c7fd1b1ea5492d4a
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 17:43:58 2011 +0100
tools/ctdb: allow the "ctdb vacuum" stub to be run without the daemon running.
commit 8fc4d5018ee6eee8856634095694d3ad0de5b4ae
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 17:43:10 2011 +0100
tools/ctdb: remove functionality of "ctdb vacuum", just keeping a stub.
commit ea3e640a28178ddcb85285f4efec62ccba2483d9
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 17:32:45 2011 +0100
vacuum: locally delete the records in the delete_tree that have be deleted remotely
This way, especially records added in the fast vacuuming runs
are deleted direclty instead of being handed back to the
repack run which will probably not hit because of the vacuum limit.
commit 536aad024d52f2c32dd397fc86294c963b91341b
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 17:30:39 2011 +0100
vacuum: improve vacuuming statistics for handling the delete_tree.
Track the number of records failed to delete remotely with the
TRY_DELETE_RECORDS control.
And add a number of records left to delete locally.
commit 0ed349c24c7399b3b440c1f5d573db77ddb988b3
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 16:05:05 2011 +0100
vacuum: fix and improve a comment
commit 7c5b27bc8dce9e30f2aff05297113da981f7b9a3
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 15:59:38 2011 +0100
vacuum: appropriately rename delete_traverse() to delete_marshall_traverse()
commit 970b8fc60857ad2f18f45312d355c571fb2f0246
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 15:58:52 2011 +0100
vacuum: initialize the delete_count in the vacuum data
commit a5a29bf92b23e9b5a1523b06461eced422b22ffe
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 14:21:04 2011 +0100
vacuum: fix the VacuumInterval tunable's type to uint32_t in get_vacuum_interval()
commit 78530f40338f511a7cd1d33ada450905742bfa8f
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 14:33:08 2011 +0100
vacuum: add new tunable VacuumInterval and mark Vacuum{Default,Min,Max}Interval obsolete
And use VacuumInterval instead of VacuumDefaultInterval in the code.
commit 1f62afbe1ae0b3e7dbad4081d1b51e3ab6ee5c39
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 14:36:35 2011 +0100
vacuum: remove struct vacuum_tuning_data (unused)
commit e40fa9efd1c77aa35c917aba6e6e4d21d9c5cdea
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 14:32:12 2011 +0100
vacuum: use get_vacuum_interval() in ctdb_vacuum_event()
(instead of using the tunable directly)
commit 621c3ce957cb946ca05a2d527c037746ae2f01d3
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 14:16:23 2011 +0100
vacuum: change get_vacuum_interval() to simply return the VacuumDefaultInterval tunable
commit d93750ea3f5cb854e5893e53795fd08656e7c12c
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 13 14:06:09 2011 +0100
vacuum: remove update_tuning_db()
commit 489148e465e2b8aed87ea836e3518f43490671ca
Author: Michael Adam <obnox at samba.org>
Date: Thu Apr 7 12:17:42 2011 +0200
ctdb_ltdb_store_server: when storing a record that is not to be scheduled for deletion, remove it from the delete queue
Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
commit a5065b42a98c709173503e02d217f97792878625
Author: Michael Adam <obnox at samba.org>
Date: Thu Apr 7 12:17:16 2011 +0200
vacuum: add ctdb_local_remove_from_delete_queue()
Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
commit 8b0caaeed154d26c67a73659d3bbbdd63b21be11
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 22 18:09:36 2011 +0100
rb_tree: fix possible access-after-free-error in trbt_traversearray32_node
When the traverse callback frees the current node, the traverse of the
rbtree can fail (the next node->right fails since node is not there any more...).
This is fixed by introducing variables to store the right (and left)
pointers before the callback is called.
commit 6c4d1b768ccade344a7462ecad7cf5cbbf3873d4
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 22 17:18:38 2011 +0100
fix zero-initialization of header in _ctdbd_allocate_pkt to the correct size
-----------------------------------------------------------------------
Summary of changes:
client/ctdb_client.c | 3 +-
common/rb_tree.c | 11 +-
doc/ctdb.1 | 759 +++++++++++++++++++++++++---------------
doc/ctdb.1.html | 246 +++++++-------
doc/ctdb.1.xml | 90 +++---
include/ctdb_private.h | 5 +
server/ctdb_ltdb_server.c | 20 +-
server/ctdb_tunables.c | 101 +++---
server/ctdb_vacuum.c | 859 +++++++++++++++++++++++++++------------------
tools/ctdb.c | 4 +-
tools/ctdb_vacuum.c | 441 +-----------------------
11 files changed, 1247 insertions(+), 1292 deletions(-)
Changeset truncated at 500 lines:
diff --git a/client/ctdb_client.c b/client/ctdb_client.c
index 224cdc0..a580a3e 100644
--- a/client/ctdb_client.c
+++ b/client/ctdb_client.c
@@ -47,14 +47,13 @@ struct ctdb_req_header *_ctdbd_allocate_pkt(struct ctdb_context *ctdb,
length = MAX(length, slength);
size = (length+(CTDB_DS_ALIGNMENT-1)) & ~(CTDB_DS_ALIGNMENT-1);
- hdr = (struct ctdb_req_header *)talloc_size(mem_ctx, size);
+ hdr = (struct ctdb_req_header *)talloc_zero_size(mem_ctx, size);
if (hdr == NULL) {
DEBUG(DEBUG_ERR,("Unable to allocate packet for operation %u of length %u\n",
operation, (unsigned)length));
return NULL;
}
talloc_set_name_const(hdr, type);
- memset(hdr, 0, slength);
hdr->length = length;
hdr->operation = operation;
hdr->ctdb_magic = CTDB_MAGIC;
diff --git a/common/rb_tree.c b/common/rb_tree.c
index 8458c51..bff7c5a 100644
--- a/common/rb_tree.c
+++ b/common/rb_tree.c
@@ -921,9 +921,12 @@ trbt_traversearray32_node(trbt_node_t *node, uint32_t keylen,
int (*callback)(void *param, void *data),
void *param)
{
- if (node->left) {
+ trbt_node_t *left = node->left;
+ trbt_node_t *right = node->right;
+
+ if (left) {
int ret;
- ret = trbt_traversearray32_node(node->left, keylen, callback, param);
+ ret = trbt_traversearray32_node(left, keylen, callback, param);
if (ret != 0) {
return ret;
}
@@ -949,10 +952,10 @@ trbt_traversearray32_node(trbt_node_t *node, uint32_t keylen,
}
}
- if (node->right) {
+ if (right) {
int ret;
- ret = trbt_traversearray32_node(node->right, keylen, callback, param);
+ ret = trbt_traversearray32_node(right, keylen, callback, param);
if (ret != 0) {
return ret;
}
diff --git a/doc/ctdb.1 b/doc/ctdb.1
index ab481fb..55454f3 100644
--- a/doc/ctdb.1
+++ b/doc/ctdb.1
@@ -1,164 +1,218 @@
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "CTDB" "1" "12/14/2011" "ctdb" "CTDB \- clustered TDB database"
+'\" t
+.\" Title: ctdb
+.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
+.\" Date: 12/23/2011
+.\" Manual: CTDB - clustered TDB database
+.\" Source: ctdb
+.\" Language: English
+.\"
+.TH "CTDB" "1" "12/23/2011" "ctdb" "CTDB \- clustered TDB database"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
.SH "NAME"
ctdb \- clustered tdb database management utility
.SH "SYNOPSIS"
-.HP 29
-\fBctdb [ OPTIONS ] COMMAND ...\fR
-.HP 5
+.HP \w'\fBctdb\ [\ OPTIONS\ ]\ COMMAND\ \&.\&.\&.\fR\ 'u
+\fBctdb [ OPTIONS ] COMMAND \&.\&.\&.\fR
+.HP \w'\fBctdb\fR\ 'u
\fBctdb\fR [\-n\ <node>] [\-Y] [\-t\ <timeout>] [\-T\ <timelimit>] [\-?\ \-\-help] [\-\-usage] [\-d\ \-\-debug=<INTEGER>] [\-\-socket=<filename>] [\-\-print\-emptyrecords] [\-\-print\-datasize] [\-\-print\-lmaster] [\-\-print\-hash] [\-\-print\-recordflags]
.SH "DESCRIPTION"
.PP
-ctdb is a utility to view and manage a ctdb cluster.
+ctdb is a utility to view and manage a ctdb cluster\&.
.SH "OPTIONS"
-.TP
+.PP
\-n <pnn>
-This specifies the physical node number on which to execute the command. Default is to run the command on the daemon running on the local host.
+.RS 4
+This specifies the physical node number on which to execute the command\&. Default is to run the command on the daemon running on the local host\&.
.sp
-The physical node number is an integer that describes the node in the cluster. The first node has physical node number 0.
-.TP
+The physical node number is an integer that describes the node in the cluster\&. The first node has physical node number 0\&.
+.RE
+.PP
\-Y
-Produce output in machine readable form for easier parsing by scripts. Not all commands support this option.
-.TP
+.RS 4
+Produce output in machine readable form for easier parsing by scripts\&. Not all commands support this option\&.
+.RE
+.PP
\-t <timeout>
-How long should ctdb wait for the local ctdb daemon to respond to a command before timing out. Default is 3 seconds.
-.TP
+.RS 4
+How long should ctdb wait for the local ctdb daemon to respond to a command before timing out\&. Default is 3 seconds\&.
+.RE
+.PP
\-T <timelimit>
-A limit on how long the ctdb command will run for before it will be aborted. When this timelimit has been exceeded the ctdb command will terminate.
-.TP
+.RS 4
+A limit on how long the ctdb command will run for before it will be aborted\&. When this timelimit has been exceeded the ctdb command will terminate\&.
+.RE
+.PP
\-? \-\-help
-Print some help text to the screen.
-.TP
+.RS 4
+Print some help text to the screen\&.
+.RE
+.PP
\-\-usage
-Print useage information to the screen.
-.TP
+.RS 4
+Print useage information to the screen\&.
+.RE
+.PP
\-d \-\-debug=<debuglevel>
-Change the debug level for the command. Default is 0.
-.TP
+.RS 4
+Change the debug level for the command\&. Default is 0\&.
+.RE
+.PP
\-\-socket=<filename>
-Specify the socketname to use when connecting to the local ctdb daemon. The default is /tmp/ctdb.socket .
+.RS 4
+Specify the socketname to use when connecting to the local ctdb daemon\&. The default is /tmp/ctdb\&.socket \&.
.sp
-You only need to specify this parameter if you run multiple ctdb daemons on the same physical host and thus can not use the default name for the domain socket.
-.TP
+You only need to specify this parameter if you run multiple ctdb daemons on the same physical host and thus can not use the default name for the domain socket\&.
+.RE
+.PP
\-\-print\-emptyrecords
-This enables printing of empty records when dumping databases with the catdb, cattbd and dumpdbbackup commands. Records with empty data segment are considered deleted by ctdb and cleaned by the vacuuming mechanism, so this switch can come in handy for debugging the vacuuming behaviour.
-.TP
+.RS 4
+This enables printing of empty records when dumping databases with the catdb, cattbd and dumpdbbackup commands\&. Records with empty data segment are considered deleted by ctdb and cleaned by the vacuuming mechanism, so this switch can come in handy for debugging the vacuuming behaviour\&.
+.RE
+.PP
\-\-print\-datasize
-This lets database dumps (catdb, cattdb, dumpdbbackup) print the size of the record data instead of dumping the data contents.
-.TP
+.RS 4
+This lets database dumps (catdb, cattdb, dumpdbbackup) print the size of the record data instead of dumping the data contents\&.
+.RE
+.PP
\-\-print\-lmaster
-This lets catdb print the lmaster for each record.
-.TP
+.RS 4
+This lets catdb print the lmaster for each record\&.
+.RE
+.PP
\-\-print\-hash
-This lets database dumps (catdb, cattdb, dumpdbbackup) print the hash for each record.
-.TP
+.RS 4
+This lets database dumps (catdb, cattdb, dumpdbbackup) print the hash for each record\&.
+.RE
+.PP
\-\-print\-recordflags
-This lets catdb and dumpdbbackup print the record flags for each record. Note that cattdb always prints the flags.
+.RS 4
+This lets catdb and dumpdbbackup print the record flags for each record\&. Note that cattdb always prints the flags\&.
+.RE
.SH "ADMINISTRATIVE COMMANDS"
.PP
-These are commands used to monitor and administrate a CTDB cluster.
+These are commands used to monitor and administrate a CTDB cluster\&.
.SS "pnn"
.PP
-This command displays the pnn of the current node.
+This command displays the pnn of the current node\&.
.SS "status"
.PP
-This command shows the current status of the ctdb node.
+This command shows the current status of the ctdb node\&.
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
+.ps +1
\fBnode status\fR
-.RS 3
+.RS 4
.PP
-Node status reflects the current status of the node. There are five possible states:
+Node status reflects the current status of the node\&. There are five possible states:
.PP
-OK \- This node is fully functional.
+OK \- This node is fully functional\&.
.PP
-DISCONNECTED \- This node could not be connected through the network and is currently not participating in the cluster. If there is a public IP address associated with this node it should have been taken over by a different node. No services are running on this node.
+DISCONNECTED \- This node could not be connected through the network and is currently not participating in the cluster\&. If there is a public IP address associated with this node it should have been taken over by a different node\&. No services are running on this node\&.
.PP
-DISABLED \- This node has been administratively disabled. This node is still functional and participates in the CTDB cluster but its IP addresses have been taken over by a different node and no services are currently being hosted.
+DISABLED \- This node has been administratively disabled\&. This node is still functional and participates in the CTDB cluster but its IP addresses have been taken over by a different node and no services are currently being hosted\&.
.PP
-UNHEALTHY \- A service provided by this node is malfunctioning and should be investigated. The CTDB daemon itself is operational and participates in the cluster. Its public IP address has been taken over by a different node and no services are currnetly being hosted. All unhealthy nodes should be investigated and require an administrative action to rectify.
+UNHEALTHY \- A service provided by this node is malfunctioning and should be investigated\&. The CTDB daemon itself is operational and participates in the cluster\&. Its public IP address has been taken over by a different node and no services are currnetly being hosted\&. All unhealthy nodes should be investigated and require an administrative action to rectify\&.
.PP
-BANNED \- This node failed too many recovery attempts and has been banned from participating in the cluster for a period of RecoveryBanPeriod seconds. Any public IP address has been taken over by other nodes. This node does not provide any services. All banned nodes should be investigated and require an administrative action to rectify. This node does not perticipate in the CTDB cluster but can still be communicated with. I.e. ctdb commands can be sent to it.
+BANNED \- This node failed too many recovery attempts and has been banned from participating in the cluster for a period of RecoveryBanPeriod seconds\&. Any public IP address has been taken over by other nodes\&. This node does not provide any services\&. All banned nodes should be investigated and require an administrative action to rectify\&. This node does not perticipate in the CTDB cluster but can still be communicated with\&. I\&.e\&. ctdb commands can be sent to it\&.
.PP
-STOPPED \- A node that is stopped does not host any public ip addresses, nor is it part of the VNNMAP. A stopped node can not become LVSMASTER, RECMASTER or NATGW. This node does not perticipate in the CTDB cluster but can still be communicated with. I.e. ctdb commands can be sent to it.
+STOPPED \- A node that is stopped does not host any public ip addresses, nor is it part of the VNNMAP\&. A stopped node can not become LVSMASTER, RECMASTER or NATGW\&. This node does not perticipate in the CTDB cluster but can still be communicated with\&. I\&.e\&. ctdb commands can be sent to it\&.
.PP
-PARTIALLYONLINE \- A node that is partially online participates in a cluster like a node that is ok. Some interfaces to serve public ip addresses are down, but at least one interface is up. See also "ctdb ifaces".
+PARTIALLYONLINE \- A node that is partially online participates in a cluster like a node that is ok\&. Some interfaces to serve public ip addresses are down, but at least one interface is up\&. See also "ctdb ifaces"\&.
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
+.ps +1
\fBgeneration\fR
-.RS 3
+.RS 4
.PP
-The generation id is a number that indicates the current generation of a cluster instance. Each time a cluster goes through a reconfiguration or a recovery its generation id will be changed.
+The generation id is a number that indicates the current generation of a cluster instance\&. Each time a cluster goes through a reconfiguration or a recovery its generation id will be changed\&.
.PP
-This number does not have any particular meaning other than to keep track of when a cluster has gone through a recovery. It is a random number that represents the current instance of a ctdb cluster and its databases. CTDBD uses this number internally to be able to tell when commands to operate on the cluster and the databases was issued in a different generation of the cluster, to ensure that commands that operate on the databases will not survive across a cluster database recovery. After a recovery, all old outstanding commands will automatically become invalid.
+This number does not have any particular meaning other than to keep track of when a cluster has gone through a recovery\&. It is a random number that represents the current instance of a ctdb cluster and its databases\&. CTDBD uses this number internally to be able to tell when commands to operate on the cluster and the databases was issued in a different generation of the cluster, to ensure that commands that operate on the databases will not survive across a cluster database recovery\&. After a recovery, all old outstanding commands will automatically become invalid\&.
.PP
-Sometimes this number will be shown as "INVALID". This only means that the ctdbd daemon has started but it has not yet merged with the cluster through a recovery. All nodes start with generation "INVALID" and are not assigned a real generation id until they have successfully been merged with a cluster through a recovery.
+Sometimes this number will be shown as "INVALID"\&. This only means that the ctdbd daemon has started but it has not yet merged with the cluster through a recovery\&. All nodes start with generation "INVALID" and are not assigned a real generation id until they have successfully been merged with a cluster through a recovery\&.
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
+.ps +1
\fBVNNMAP\fR
-.RS 3
+.RS 4
.PP
-The list of Virtual Node Numbers. This is a list of all nodes that actively participates in the cluster and that share the workload of hosting the Clustered TDB database records. Only nodes that are participating in the vnnmap can become lmaster or dmaster for a database record.
+The list of Virtual Node Numbers\&. This is a list of all nodes that actively participates in the cluster and that share the workload of hosting the Clustered TDB database records\&. Only nodes that are participating in the vnnmap can become lmaster or dmaster for a database record\&.
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
+.ps +1
\fBRecovery mode\fR
-.RS 3
+.RS 4
.PP
-This is the current recovery mode of the cluster. There are two possible modes:
+This is the current recovery mode of the cluster\&. There are two possible modes:
.PP
-NORMAL \- The cluster is fully operational.
+NORMAL \- The cluster is fully operational\&.
.PP
-RECOVERY \- The cluster databases have all been frozen, pausing all services while the cluster awaits a recovery process to complete. A recovery process should finish within seconds. If a cluster is stuck in the RECOVERY state this would indicate a cluster malfunction which needs to be investigated.
+RECOVERY \- The cluster databases have all been frozen, pausing all services while the cluster awaits a recovery process to complete\&. A recovery process should finish within seconds\&. If a cluster is stuck in the RECOVERY state this would indicate a cluster malfunction which needs to be investigated\&.
.PP
-Once the recovery master detects an inconsistency, for example a node becomes disconnected/connected, the recovery daemon will trigger a cluster recovery process, where all databases are remerged across the cluster. When this process starts, the recovery master will first "freeze" all databases to prevent applications such as samba from accessing the databases and it will also mark the recovery mode as RECOVERY.
+Once the recovery master detects an inconsistency, for example a node becomes disconnected/connected, the recovery daemon will trigger a cluster recovery process, where all databases are remerged across the cluster\&. When this process starts, the recovery master will first "freeze" all databases to prevent applications such as samba from accessing the databases and it will also mark the recovery mode as RECOVERY\&.
.PP
-When CTDBD starts up, it will start in RECOVERY mode. Once the node has been merged into a cluster and all databases have been recovered, the node mode will change into NORMAL mode and the databases will be "thawed", allowing samba to access the databases again.
+When CTDBD starts up, it will start in RECOVERY mode\&. Once the node has been merged into a cluster and all databases have been recovered, the node mode will change into NORMAL mode and the databases will be "thawed", allowing samba to access the databases again\&.
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
+.ps +1
\fBRecovery master\fR
-.RS 3
+.RS 4
.PP
-This is the cluster node that is currently designated as the recovery master. This node is responsible of monitoring the consistency of the cluster and to perform the actual recovery process when reqired.
+This is the cluster node that is currently designated as the recovery master\&. This node is responsible of monitoring the consistency of the cluster and to perform the actual recovery process when reqired\&.
.PP
-Only one node at a time can be the designated recovery master. Which node is designated the recovery master is decided by an election process in the recovery daemons running on each node.
+Only one node at a time can be the designated recovery master\&. Which node is designated the recovery master is decided by an election process in the recovery daemons running on each node\&.
.RE
.PP
Example: ctdb status
.PP
Example output:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
Number of nodes:4
-pnn:0 11.1.2.200 OK (THIS NODE)
-pnn:1 11.1.2.201 OK
-pnn:2 11.1.2.202 OK
-pnn:3 11.1.2.203 OK
+pnn:0 11\&.1\&.2\&.200 OK (THIS NODE)
+pnn:1 11\&.1\&.2\&.201 OK
+pnn:2 11\&.1\&.2\&.202 OK
+pnn:3 11\&.1\&.2\&.203 OK
Generation:1362079228
Size:4
hash:0 lmaster:0
@@ -169,62 +223,86 @@ Recovery mode:NORMAL (0)
Recovery master:0
.fi
+.if n \{\
+.RE
+.\}
.SS "recmaster"
.PP
-This command shows the pnn of the node which is currently the recmaster.
+This command shows the pnn of the node which is currently the recmaster\&.
.SS "uptime"
.PP
-This command shows the uptime for the ctdb daemon. When the last recovery or ip\-failover completed and how long it took. If the "duration" is shown as a negative number, this indicates that there is a recovery/failover in progress and it started that many seconds ago.
+This command shows the uptime for the ctdb daemon\&. When the last recovery or ip\-failover completed and how long it took\&. If the "duration" is shown as a negative number, this indicates that there is a recovery/failover in progress and it started that many seconds ago\&.
.PP
Example: ctdb uptime
.PP
Example output:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
Current time of node : Thu Oct 29 10:38:54 2009
Ctdbd start time : (000 16:54:28) Wed Oct 28 17:44:26 2009
Time of last recovery/failover: (000 16:53:31) Wed Oct 28 17:45:23 2009
-Duration of last recovery/failover: 2.248552 seconds
+Duration of last recovery/failover: 2\&.248552 seconds
.fi
+.if n \{\
+.RE
+.\}
.SS "listnodes"
.PP
-This command shows lists the ip addresses of all the nodes in the cluster.
+This command shows lists the ip addresses of all the nodes in the cluster\&.
.PP
Example: ctdb listnodes
.PP
Example output:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
-10.0.0.71
-10.0.0.72
-10.0.0.73
-10.0.0.74
+10\&.0\&.0\&.71
+10\&.0\&.0\&.72
+10\&.0\&.0\&.73
+10\&.0\&.0\&.74
.fi
+.if n \{\
+.RE
+.\}
.SS "ping"
.PP
-This command will "ping" all CTDB daemons in the cluster to verify that they are processing commands correctly.
+This command will "ping" all CTDB daemons in the cluster to verify that they are processing commands correctly\&.
.PP
Example: ctdb ping
.PP
Example output:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
-response from 0 time=0.000054 sec (3 clients)
-response from 1 time=0.000144 sec (2 clients)
-response from 2 time=0.000105 sec (2 clients)
-response from 3 time=0.000114 sec (2 clients)
+response from 0 time=0\&.000054 sec (3 clients)
+response from 1 time=0\&.000144 sec (2 clients)
+response from 2 time=0\&.000105 sec (2 clients)
+response from 3 time=0\&.000114 sec (2 clients)
.fi
+.if n \{\
+.RE
+.\}
.SS "ifaces"
.PP
-This command will display the list of network interfaces, which could host public addresses, along with their status.
+This command will display the list of network interfaces, which could host public addresses, along with their status\&.
.PP
Example: ctdb ifaces
.PP
Example output:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
Interfaces on node 0
name:eth5 link:up references:2
@@ -233,11 +311,17 @@ name:eth3 link:up references:1
name:eth2 link:up references:1
.fi
+.if n \{\
+.RE
+.\}
.PP
Example: ctdb ifaces \-Y
.PP
Example output:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
:Name:LinkStatus:References:
:eth5:1:2
@@ -246,210 +330,264 @@ Example output:
:eth2:1:1
.fi
+.if n \{\
+.RE
+.\}
.SS "setifacelink <iface> <status>"
.PP
-This command will set the status of a network interface. The status needs to be "up" or "down". This is typically used in the 10.interfaces script in the "monitor" event.
+This command will set the status of a network interface\&. The status needs to be "up" or "down"\&. This is typically used in the 10\&.interfaces script in the "monitor" event\&.
.PP
Example: ctdb setifacelink eth0 up
.SS "ip"
.PP
-This command will display the list of public addresses that are provided by the cluster and which physical node is currently serving this ip. By default this command will ONLY show those public addresses that are known to the node itself. To see the full list of all public ips across the cluster you must use "ctdb ip \-n all".
+This command will display the list of public addresses that are provided by the cluster and which physical node is currently serving this ip\&. By default this command will ONLY show those public addresses that are known to the node itself\&. To see the full list of all public ips across the cluster you must use "ctdb ip \-n all"\&.
.PP
Example: ctdb ip
.PP
Example output:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
Public IPs on node 0
-172.31.91.82 node[1] active[] available[eth2,eth3] configured[eth2,eth3]
-172.31.91.83 node[0] active[eth3] available[eth2,eth3] configured[eth2,eth3]
-172.31.91.84 node[1] active[] available[eth2,eth3] configured[eth2,eth3]
-172.31.91.85 node[0] active[eth2] available[eth2,eth3] configured[eth2,eth3]
-172.31.92.82 node[1] active[] available[eth5] configured[eth4,eth5]
-172.31.92.83 node[0] active[eth5] available[eth5] configured[eth4,eth5]
-172.31.92.84 node[1] active[] available[eth5] configured[eth4,eth5]
-172.31.92.85 node[0] active[eth5] available[eth5] configured[eth4,eth5]
+172\&.31\&.91\&.82 node[1] active[] available[eth2,eth3] configured[eth2,eth3]
+172\&.31\&.91\&.83 node[0] active[eth3] available[eth2,eth3] configured[eth2,eth3]
+172\&.31\&.91\&.84 node[1] active[] available[eth2,eth3] configured[eth2,eth3]
--
CTDB repository
More information about the samba-cvs
mailing list