[SCM] CTDB repository - branch 2.5 updated - ctdb-2.5.5-84-gca4134e

Amitay Isaacs amitay at samba.org
Wed Mar 30 05:30:09 UTC 2016


The branch, 2.5 has been updated
       via  ca4134e76f5b8a9e823bdd5e07fdedfcd3ec57c3 (commit)
      from  817199f0535d068a8f3ad558cbccc0f446807ad6 (commit)

https://git.samba.org/?p=ctdb.git;a=shortlog;h=2.5


- Log -----------------------------------------------------------------
commit ca4134e76f5b8a9e823bdd5e07fdedfcd3ec57c3
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Mar 10 18:01:31 2016 +1100

    client: Increase the timeout for TRANS3_COMMIT control
    
    On a busy system, TRANS3_COMMIT control can take upto or longer than
    3 seconds.  On timeout, there are few possible outcomes.
    
    1. The transaction has completed on all nodes and TRANS3_COMMIT control
       has returned.  In such a case, there is no problem.
    
    2. The transaction has completed on the local node, but TRANS3_COMMIT
       control is still active.  In such a case, ctdb_transaction_commit()
       can return successfully.  If this is being called from ctdb, then
       ctdb will exit.  This will cause ctdb daemon to trigger recovery
       since the client exited while transaction is active.  This will cause
       unnecessary recovery.
    
    3. Database recovery was started and ctdb_transaction_commit() will
       retry till the recovery completes the transaction.
    
    Increasing the timeout to 30 seconds will avoid the spurious database
    recoveries when TRANS3_COMMIT control takes longer to finish.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Volker Lendecke <vl at samba.org>
    
    Autobuild-User(master): Volker Lendecke <vl at samba.org>
    Autobuild-Date(master): Fri Mar 11 19:59:53 CET 2016 on sn-devel-144
    
    (Imported from commit ad5b9c3df2f2e3c93642fb1c069a6f4c56eb94f4)

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

Summary of changes:
 client/ctdb_client.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/client/ctdb_client.c b/client/ctdb_client.c
index d09e1c6..cc96d98 100644
--- a/client/ctdb_client.c
+++ b/client/ctdb_client.c
@@ -4320,7 +4320,7 @@ int ctdb_transaction_commit(struct ctdb_transaction_handle *h)
 	}
 
 again:
-	timeout = timeval_current_ofs(3,0);
+	timeout = timeval_current_ofs(30,0);
 	ret = ctdb_control(h->ctdb_db->ctdb, CTDB_CURRENT_NODE,
 			   h->ctdb_db->db_id,
 			   CTDB_CONTROL_TRANS3_COMMIT, 0,


-- 
CTDB repository



More information about the samba-cvs mailing list