The branch, 1.0.112 has been updated via 9ade3668899499346ed57368682c69264bc7320e (commit) via 08687511f7b81cccf72ca023947968e3d5adf3e3 (commit) via 3000b0c2d50d8f33141cc17406b17315e8c5fd6e (commit) from 812f3dcefa6ed844637450077f7ee69dc8d41954 (commit)
http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=1.0.112 - Log ----------------------------------------------------------------- commit 9ade3668899499346ed57368682c69264bc7320e Author: Ronnie Sahlberg <ronniesahlb...@gmail.com> Date: Tue May 11 09:35:03 2010 +1000 New version 1.0.112-20 +* Tue May 11 2010 : Version 1.0.112-20 + - Add number of recoveries done to the ctdb statistics output. + - Use the fuill range for IDR values. + BZ 60540 + - When performing a recovery, make sure all nodes agree with recmaster + on the reclock file. + BZ 62748 + - Lower the loglevel for some debug messages + BZ 63074 commit 08687511f7b81cccf72ca023947968e3d5adf3e3 Author: Ronnie Sahlberg <ronniesahlb...@gmail.com> Date: Tue May 11 09:28:59 2010 +1000 Add the number of performed recoveries to the "ctdb statistics" output. commit 3000b0c2d50d8f33141cc17406b17315e8c5fd6e Author: Rusty Russell <ru...@rustcorp.com.au> Date: Sat May 8 22:24:11 2010 +0930 ctdb: use full range of IDR This resolves a problem with huge numbers of requests which could overflow 16 bits. Fortunately, the IDR should scale reasonably well, so we can simply hold all the requests. Although noone checks for failure, I added a constant for that. BZ: 60540 Signed-off-by: Rusty Russell <ru...@rustcorp.com.au> ----------------------------------------------------------------------- Summary of changes: common/ctdb_util.c | 10 +++------- include/ctdb_private.h | 2 ++ packaging/RPM/ctdb.spec.in | 11 ++++++++++- server/ctdb_recover.c | 1 + tools/ctdb.c | 1 + 5 files changed, 17 insertions(+), 8 deletions(-) Changeset truncated at 500 lines: diff --git a/common/ctdb_util.c b/common/ctdb_util.c index acc57c9..87f61e7 100644 --- a/common/ctdb_util.c +++ b/common/ctdb_util.c @@ -159,18 +159,14 @@ void ctdb_reclock_latency(struct ctdb_context *ctdb, const char *name, double *l uint32_t ctdb_reqid_new(struct ctdb_context *ctdb, void *state) { - uint32_t id; - - id = ctdb->idr_cnt++ & 0xFFFF; - id |= (idr_get_new(ctdb->idr, state, 0xFFFF)<<16); - return id; + return idr_get_new(ctdb->idr, state, INT_MAX); } void *_ctdb_reqid_find(struct ctdb_context *ctdb, uint32_t reqid, const char *type, const char *location) { void *p; - p = _idr_find_type(ctdb->idr, (reqid>>16)&0xFFFF, type, location); + p = _idr_find_type(ctdb->idr, reqid, type, location); if (p == NULL) { DEBUG(DEBUG_WARNING, ("Could not find idr:%u\n",reqid)); } @@ -183,7 +179,7 @@ void ctdb_reqid_remove(struct ctdb_context *ctdb, uint32_t reqid) { int ret; - ret = idr_remove(ctdb->idr, (reqid>>16)&0xFFFF); + ret = idr_remove(ctdb->idr, reqid); if (ret != 0) { DEBUG(DEBUG_ERR, ("Removing idr that does not exist\n")); } diff --git a/include/ctdb_private.h b/include/ctdb_private.h index 6c70623..6893d67 100644 --- a/include/ctdb_private.h +++ b/include/ctdb_private.h @@ -344,6 +344,7 @@ struct ctdb_statistics { double max_call_latency; double max_lockwait_latency; double max_childwrite_latency; + uint32_t num_recoveries; }; @@ -1032,6 +1033,7 @@ int ctdb_socket_connect(struct ctdb_context *ctdb); void ctdb_latency(struct ctdb_db_context *ctdb_db, const char *name, double *latency, struct timeval t); void ctdb_reclock_latency(struct ctdb_context *ctdb, const char *name, double *latency, double l); +#define CTDB_BAD_REQID ((uint32_t)-1) uint32_t ctdb_reqid_new(struct ctdb_context *ctdb, void *state); void *_ctdb_reqid_find(struct ctdb_context *ctdb, uint32_t reqid, const char *type, const char *location); void ctdb_reqid_remove(struct ctdb_context *ctdb, uint32_t reqid); diff --git a/packaging/RPM/ctdb.spec.in b/packaging/RPM/ctdb.spec.in index 1e9c74c..fbd7a2a 100644 --- a/packaging/RPM/ctdb.spec.in +++ b/packaging/RPM/ctdb.spec.in @@ -5,7 +5,7 @@ Vendor: Samba Team Packager: Samba Team <sa...@samba.org> Name: ctdb Version: 1.0.112 -Release: 19 +Release: 20 Epoch: 0 License: GNU GPL version 3 Group: System Environment/Daemons @@ -125,6 +125,15 @@ rm -rf $RPM_BUILD_ROOT %{_docdir}/ctdb/tests/bin/ctdb_transaction %changelog +* Tue May 11 2010 : Version 1.0.112-20 + - Add number of recoveries done to the ctdb statistics output. + - Use the fuill range for IDR values. + BZ 60540 + - When performing a recovery, make sure all nodes agree with recmaster + on the reclock file. + BZ 62748 + - Lower the loglevel for some debug messages + BZ 63074 * Tue May 4 2010 : Version 1.0.112-19 - Add an eventscript 62.cnfs to allow better integration with GPFS. BZ 61913 diff --git a/server/ctdb_recover.c b/server/ctdb_recover.c index 4a1e04c..22e4898 100644 --- a/server/ctdb_recover.c +++ b/server/ctdb_recover.c @@ -938,6 +938,7 @@ static void ctdb_end_recovery_callback(struct ctdb_context *ctdb, int status, vo struct recovery_callback_state *state = talloc_get_type(p, struct recovery_callback_state); ctdb_enable_monitoring(ctdb); + ctdb->statistics.num_recoveries++; if (status != 0) { DEBUG(DEBUG_ERR,(__location__ " recovered event script failed (status %d)\n", status)); diff --git a/tools/ctdb.c b/tools/ctdb.c index f91c77d..7ae3974 100644 --- a/tools/ctdb.c +++ b/tools/ctdb.c @@ -166,6 +166,7 @@ static void show_statistics(struct ctdb_statistics *s) STATISTICS_FIELD(num_clients), STATISTICS_FIELD(frozen), STATISTICS_FIELD(recovering), + STATISTICS_FIELD(num_recoveries), STATISTICS_FIELD(client_packets_sent), STATISTICS_FIELD(client_packets_recv), STATISTICS_FIELD(node_packets_sent), -- CTDB repository