The branch, master has been updated via bcbac6724840cdabe55e38a4c62779f853bd09ba (commit) via 66c61137a5c01afcbae329ffbe121e78ae087399 (commit) via c76c214be401cb116265ed17ffe6c77c979ded82 (commit) from 84236e03e40bcf46fa634d106903277c149a734f (commit)
http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit bcbac6724840cdabe55e38a4c62779f853bd09ba Author: Ronnie Sahlberg <[EMAIL PROTECTED]> Date: Thu Aug 7 18:57:24 2008 +1000 new version 1.0.53 this adds completely new transaction code for persistent databases commit 66c61137a5c01afcbae329ffbe121e78ae087399 Merge: 84236e03e40bcf46fa634d106903277c149a734f c76c214be401cb116265ed17ffe6c77c979ded82 Author: Ronnie Sahlberg <[EMAIL PROTECTED]> Date: Thu Aug 7 18:50:48 2008 +1000 Merge git://git.samba.org/tridge/ctdb commit c76c214be401cb116265ed17ffe6c77c979ded82 Author: Andrew Tridgell <[EMAIL PROTECTED]> Date: Thu Aug 7 13:34:18 2008 +1000 cover some corner cases where the persistent database could become inconsistent ----------------------------------------------------------------------- Summary of changes: client/ctdb_client.c | 3 +++ packaging/RPM/ctdb.spec | 5 ++++- server/ctdb_persistent.c | 6 ++++-- 3 files changed, 11 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/client/ctdb_client.c b/client/ctdb_client.c index d06f896..aa5629c 100644 --- a/client/ctdb_client.c +++ b/client/ctdb_client.c @@ -3212,6 +3212,9 @@ again: sleep(1); if (ctdb_replay_transaction(h) != 0) { DEBUG(DEBUG_ERR,(__location__ " Failed to replay transaction\n")); + ctdb_control(ctdb, CTDB_CURRENT_NODE, h->ctdb_db->db_id, + CTDB_CONTROL_TRANS2_ERROR, CTDB_CTRL_FLAG_NOREPLY, + tdb_null, NULL, NULL, NULL, NULL, NULL); talloc_free(h); return -1; } diff --git a/packaging/RPM/ctdb.spec b/packaging/RPM/ctdb.spec index 13fae3d..fcaf2ee 100644 --- a/packaging/RPM/ctdb.spec +++ b/packaging/RPM/ctdb.spec @@ -5,7 +5,7 @@ Vendor: Samba Team Packager: Samba Team <[EMAIL PROTECTED]> Name: ctdb Version: 1.0 -Release: 52 +Release: 53 Epoch: 0 License: GNU GPL version 3 Group: System Environment/Daemons @@ -118,6 +118,9 @@ fi %{_includedir}/ctdb_private.h %changelog +* Thu Aug 7 2008 : Version 1.0.53 + - Remove the reclock.pnn file it can cause gpfs to fail to umount + - New transaction code * Mon Aug 4 2008 : Version 1.0.52 - Send an explicit gratious arp when starting sending the tcp tickles. - When doing failover, issue a killtcp to non-NFS/non-CIFS clients diff --git a/server/ctdb_persistent.c b/server/ctdb_persistent.c index 77cff9c..6a8a100 100644 --- a/server/ctdb_persistent.c +++ b/server/ctdb_persistent.c @@ -463,6 +463,8 @@ int32_t ctdb_control_trans2_finished(struct ctdb_context *ctdb, if (client->num_persistent_updates == 0) { DEBUG(DEBUG_ERR, (__location__ " ERROR: num_persistent_updates == 0\n")); + DEBUG(DEBUG_ERR,(__location__ " Forcing recovery\n")); + client->ctdb->recovery_mode = CTDB_RECOVERY_ACTIVE; return -1; } client->num_persistent_updates--; @@ -481,9 +483,9 @@ int32_t ctdb_control_trans2_error(struct ctdb_context *ctdb, if (client->num_persistent_updates == 0) { DEBUG(DEBUG_ERR, (__location__ " ERROR: num_persistent_updates == 0\n")); - return -1; + } else { + client->num_persistent_updates--; } - client->num_persistent_updates--; DEBUG(DEBUG_ERR,(__location__ " Forcing recovery\n")); client->ctdb->recovery_mode = CTDB_RECOVERY_ACTIVE; -- CTDB repository