[SCM] CTDB repository - branch master updated - ctdb-2.5-4-g9381c33

Amitay Isaacs amitay at samba.org
Sun Nov 10 01:55:58 MST 2013


The branch, master has been updated
       via  9381c33dfd40192b7532d942059c2959dfae059d (commit)
       via  46615c8e0e63291605d76a6d35f1a93180718c36 (commit)
       via  59489019ad15a5ad6b0f295e742fc9832745a842 (commit)
      from  370022e1ff654db99d0c3ce0c49914c249e57289 (commit)

http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 9381c33dfd40192b7532d942059c2959dfae059d
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Nov 7 16:01:49 2013 +1100

    tests: Fix calling of ctdb tool from test
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>

commit 46615c8e0e63291605d76a6d35f1a93180718c36
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Nov 7 15:54:28 2013 +1100

    Revert "tests: If transaction_start fails, try again"
    
    This reverts commit ed7d999214ee009e480c26410a04fa105028cb8e.
    
    This is not necessary since ctdb_transaction_start() now will return NULL
    only when there is a failure and not when another transaction is currently
    active.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>

commit 59489019ad15a5ad6b0f295e742fc9832745a842
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Nov 7 15:54:20 2013 +1100

    client: Make g_lock_lock() wait till lock is obtained
    
    This makes the behaviour of g_lock_lock() similar to that implemented in
    Samba.  Now ctdb_transaction_start() will return NULL only when there are
    failures and not when another transaction is active.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>

-----------------------------------------------------------------------

Summary of changes:
 client/ctdb_client.c                         |   12 +++++++++++-
 tests/simple/54_ctdb_transaction_recovery.sh |    2 +-
 tests/src/ctdb_transaction.c                 |    2 +-
 3 files changed, 13 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/client/ctdb_client.c b/client/ctdb_client.c
index 6ccc4c9..fddbd02 100644
--- a/client/ctdb_client.c
+++ b/client/ctdb_client.c
@@ -3856,10 +3856,20 @@ static bool g_lock_lock(TALLOC_CTX *mem_ctx,
 	struct ctdb_record_handle *h;
 	struct g_lock_recs *locks;
 	struct server_id id;
+	struct timeval t_start;
 	int i;
 
 	key.dptr = (uint8_t *)discard_const(keyname);
 	key.dsize = strlen(keyname) + 1;
+
+	t_start = timeval_current();
+
+again:
+	/* Keep trying for an hour. */
+	if (timeval_elapsed(&t_start) > 3600) {
+		return false;
+	}
+
 	h = ctdb_fetch_lock(ctdb_db, mem_ctx, key, &data);
 	if (h == NULL) {
 		return false;
@@ -3899,7 +3909,7 @@ static bool g_lock_lock(TALLOC_CTX *mem_ctx,
 				   id.task_id, id.vnn,
 				   (unsigned long long)id.unique_id));
 		talloc_free(h);
-		return false;
+		goto again;
 	}
 
 	locks->lock = talloc_realloc(locks, locks->lock, struct g_lock_rec,
diff --git a/tests/simple/54_ctdb_transaction_recovery.sh b/tests/simple/54_ctdb_transaction_recovery.sh
index baeea22..d796e94 100755
--- a/tests/simple/54_ctdb_transaction_recovery.sh
+++ b/tests/simple/54_ctdb_transaction_recovery.sh
@@ -28,7 +28,7 @@ recovery_loop()
 
 	while true ; do
 		echo Recovery $COUNT
-		ctdb recover
+		try_command_on_node 0 $CTDB recover
 		sleep 2
 		COUNT=$((COUNT + 1))
 	done
diff --git a/tests/src/ctdb_transaction.c b/tests/src/ctdb_transaction.c
index 7671992..78a63f1 100644
--- a/tests/src/ctdb_transaction.c
+++ b/tests/src/ctdb_transaction.c
@@ -137,7 +137,7 @@ static void test_store_records(struct ctdb_context *ctdb, struct event_context *
 			DEBUG(DEBUG_ERR, ("Failed to start transaction on node %d\n",
 			       ctdb_get_pnn(ctdb)));
 			talloc_free(tmp_ctx);
-			continue;
+			return;
 		}
 		if (verbose) DEBUG(DEBUG_ERR, ("transaction started\n"));
 		do_sleep(delay);


-- 
CTDB repository


More information about the samba-cvs mailing list