[SCM] CTDB repository - branch master updated - ctdb-2.1-198-gc574309
The branch, master has been updated via c57430998a3bdedc8a904eb3a9cdfde1421aff50 (commit) via f15dd562fd8c08cafd957ce9509102db7eb49668 (commit) via c0c27762ea728ed86405b29c642ba9e43200f4ae (commit) via 1190bb0d9c14dc5889c2df56f6c8986db23d81a1 (commit) via 40e34773b8063196457746ffe7a048eb87d96d61 (commit) via 03fd90d41f9cd9b8c42dc6b8b8d46ae19101a544 (commit) via 473cfcb019f0cb4a094bf10397f7414f7923ee57 (commit) via f6792f478197774d2f3b2258c969b67c83e017ab (commit) from c50eca6fbf49a6c7bf50905334704f8d2d3237d7 (commit) http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master - Log - commit c57430998a3bdedc8a904eb3a9cdfde1421aff50 Author: Martin Schwenke Date: Mon May 6 20:31:08 2013 +1000 tests/takeover: New tests to check runstate handling Signed-off-by: Martin Schwenke commit f15dd562fd8c08cafd957ce9509102db7eb49668 Author: Martin Schwenke Date: Mon May 6 15:36:29 2013 +1000 recoverd: Nodes can only takeover IPs if they are in runstate RUNNING Currently the order of the first IP allocation, including the first "ipreallocated" event, and the "startup" event is undefined. Both of these events can (re)start services. This stops IPs being hosted before the "startup" event has completed. Signed-off-by: Martin Schwenke Pair-programmed-with: Amitay Isaacs commit c0c27762ea728ed86405b29c642ba9e43200f4ae Author: Martin Schwenke Date: Thu May 23 19:03:11 2013 +1000 recoverd: Handle errors carefully when fetching tunables If a tunable is not implemented on a remote node then this should not be fatal. In this case the takeover run can continue using benign defaults for the tunables. However, timeouts and any unexpected errors should be fatal. These should abort the takeover run because they can lead to unexpected IP movements. Signed-off-by: Martin Schwenke commit 1190bb0d9c14dc5889c2df56f6c8986db23d81a1 Author: Martin Schwenke Date: Thu May 23 19:01:01 2013 +1000 recoverd: Set explicit default value when getting tunable from nodes Both of the current defaults are implicitly 0. It is better to make the defaults obvious. Signed-off-by: Martin Schwenke commit 40e34773b8063196457746ffe7a048eb87d96d61 Author: Martin Schwenke Date: Thu May 23 16:09:38 2013 +1000 client: async_callback() sets result to -ETIME if a control times out Otherwise there is no way of treating a timeout differently to a general failure. Signed-off-by: Martin Schwenke Pair-programmed-with: Amitay Isaacs commit 03fd90d41f9cd9b8c42dc6b8b8d46ae19101a544 Author: Martin Schwenke Date: Tue May 21 15:41:56 2013 +1000 ctdbd: Update the get_tunable code to return -EINVAL for unknown tunable Otherwise callers can't tell the difference between some other failure (e.g. memory allocation failure) and an unknown tunable. Signed-off-by: Martin Schwenke commit 473cfcb019f0cb4a094bf10397f7414f7923ee57 Author: Martin Schwenke Date: Wed May 22 17:19:34 2013 +1000 recoverd: Whitespace improvements Signed-off-by: Martin Schwenke commit f6792f478197774d2f3b2258c969b67c83e017ab Author: Martin Schwenke Date: Wed May 22 20:56:03 2013 +1000 recoverd: Use talloc_array_length() for simpler code Signed-off-by: Martin Schwenke --- Summary of changes: client/ctdb_client.c|7 +- server/ctdb_takeover.c | 211 +++ server/ctdb_tunables.c |2 +- tests/src/ctdb_takeover_tests.c | 30 - tests/takeover/lcp2.024.sh | 42 ++ tests/takeover/{lcp2.007.sh => lcp2.025.sh} | 24 ++-- tests/takeover/{lcp2.007.sh => lcp2.026.sh} | 24 ++-- tools/ctdb.c|2 +- 8 files changed, 287 insertions(+), 55 deletions(-) create mode 100755 tests/takeover/lcp2.024.sh copy tests/takeover/{lcp2.007.sh => lcp2.025.sh} (71%) copy tests/takeover/{lcp2.007.sh => lcp2.026.sh} (70%) Changeset truncated at 500 lines: diff --git a/client/ctdb_client.c b/client/ctdb_client.c index e930bff..334d830 100644 --- a/client/ctdb_client.c +++ b/client/ctdb_client.c @@ -2502,7 +2502,7 @@ int ctdb_ctrl_get_tunable(struct ctdb_context *ctdb, talloc_free(data.dptr); if (ret != 0 || res != 0) { DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get_tunable failed\n")); - return -1; + return ret != 0 ? ret : res; } if (outdata.dsize != sizeof(uint32_t)) { @@ -3329,6 +3329,11 @@ static void async_callback(struct ctdb_client_control_state *state) DEBUG(DEBUG_ERR,("Async operation failed wit
[SCM] CTDB repository - branch master updated - ctdb-2.1-201-gb697625
The branch, master has been updated via b697625b184227dad1be31a41b7a3fd9bd312e29 (commit) via d9e24782a90d9ce29c0e6584b75d2b186142174d (commit) via 9a21d417c51fb9cad8f2e87e00ca54d379aef860 (commit) from c57430998a3bdedc8a904eb3a9cdfde1421aff50 (commit) http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master - Log - commit b697625b184227dad1be31a41b7a3fd9bd312e29 Author: Michael Adam Date: Fri May 17 11:05:44 2013 +0200 ctdbd: fix comment explaining redirection of CTDB_REQ_CALL redirection. Signed-off-by: Michael Adam commit d9e24782a90d9ce29c0e6584b75d2b186142174d Author: Michael Adam Date: Fri May 17 11:01:31 2013 +0200 ctdbd: remove a nonempty blank line Signed-off-by: Michael Adam commit 9a21d417c51fb9cad8f2e87e00ca54d379aef860 Author: Michael Adam Date: Fri May 17 11:00:32 2013 +0200 ctdbd: update comment describing ctdb_call_send_redirect() Signed-off-by: Michael Adam --- Summary of changes: server/ctdb_call.c | 21 ++--- 1 files changed, 6 insertions(+), 15 deletions(-) Changeset truncated at 500 lines: diff --git a/server/ctdb_call.c b/server/ctdb_call.c index dbbebec..a98903d 100644 --- a/server/ctdb_call.c +++ b/server/ctdb_call.c @@ -113,20 +113,9 @@ static void ctdb_send_error(struct ctdb_context *ctdb, * to its local ctdb (ctdb_request_call). If the node is not itself * the record's DMASTER, it first redirects the packet to the * record's LMASTER. The LMASTER then redirects the call packet to - * the current DMASTER. But there is a race: The record may have - * been migrated off the DMASTER while the redirected packet is - * on the wire (or in the local queue). So in case the record has - * migrated off the new destinaton of the call packet, instead of - * going back to the LMASTER to get the new DMASTER, we try to - * reduce round-trips by first chasing the record a couple of times - * before giving up the direct chase and finally going back to the - * LMASTER (again). Note that this works because of this: When + * the current DMASTER. Note that this works because of this: When * a record is migrated off a node, then the new DMASTER is stored * in the record's copy on the former DMASTER. - * - * The maximum number of attempts for direct chase to make before - * going back to the LMASTER is configurable by the tunable - * "MaxRedirectCount". */ static void ctdb_call_send_redirect(struct ctdb_context *ctdb, struct ctdb_db_context *ctdb_db, @@ -134,7 +123,6 @@ static void ctdb_call_send_redirect(struct ctdb_context *ctdb, struct ctdb_req_call *c, struct ctdb_ltdb_header *header) { - uint32_t lmaster = ctdb_lmaster(ctdb, &key); c->hdr.destnode = lmaster; @@ -813,8 +801,11 @@ void ctdb_request_call(struct ctdb_context *ctdb, struct ctdb_req_header *hdr) return; } - /* if we are not the dmaster and are not hosting any delegations, - then send a redirect to the requesting node */ + /* +* If we are not the dmaster and are not hosting any delegations, +* then we redirect the request to the node than can answer it +* (the lmaster or the dmaster). +*/ if ((header.dmaster != ctdb->pnn) && (!(header.flags & CTDB_REC_RO_HAVE_DELEGATIONS)) ) { talloc_free(data.dptr); -- CTDB repository
[SCM] CTDB repository - branch master updated - ctdb-2.1-202-g32723c9
The branch, master has been updated via 32723c9efdad1c6ca4aa53f308ccd9bef1aadfff (commit) from b697625b184227dad1be31a41b7a3fd9bd312e29 (commit) http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master - Log - commit 32723c9efdad1c6ca4aa53f308ccd9bef1aadfff Author: Amitay Isaacs Date: Fri May 24 18:07:39 2013 +1000 vacuum: Reduce the priority of non-critical error Since the complete database is not locked when the receive_records control is received, it's possible that we may not be able to obtain lock on a chain. We will try again to store this record. Signed-off-by: Amitay Isaacs Reviewed-by: Michael Adam --- Summary of changes: server/ctdb_recover.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/server/ctdb_recover.c b/server/ctdb_recover.c index 6506f8b..7a8b0bb 100644 --- a/server/ctdb_recover.c +++ b/server/ctdb_recover.c @@ -1138,7 +1138,7 @@ static int store_tdb_record(struct ctdb_context *ctdb, /* use a non-blocking lock */ if (tdb_chainlock_nonblock(ctdb_db->ltdb->tdb, key) != 0) { - DEBUG(DEBUG_ERR, (__location__ " Failed to lock chain\n")); + DEBUG(DEBUG_INFO, (__location__ " Failed to lock chain in non-blocking mode\n")); return -1; } -- CTDB repository
[SCM] CTDB repository - branch master updated - ctdb-2.1-206-g75a620c
The branch, master has been updated via 75a620c516e384f042b5d675183b3a1b48fd6115 (commit) via cfd1371d3a1f78a0ed86485d83bd4d311727c3d4 (commit) via ef35c8889d90220929e48e66eb62da9ea2025ede (commit) via 954ae6f84cb06a8dcbc12456d4752280072be5bf (commit) from 32723c9efdad1c6ca4aa53f308ccd9bef1aadfff (commit) http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master - Log - commit 75a620c516e384f042b5d675183b3a1b48fd6115 Author: Martin Schwenke Date: Fri Apr 5 20:47:47 2013 +1100 tests/takeover: New test with 900 IPs commit cfd1371d3a1f78a0ed86485d83bd4d311727c3d4 Author: Martin Schwenke Date: Fri Apr 5 20:45:08 2013 +1100 tests/takeover: Takeover tests can use up to 1024 and checks limits Signed-off-by: Martin Schwenke commit ef35c8889d90220929e48e66eb62da9ea2025ede Author: Martin Schwenke Date: Mon Apr 8 14:37:44 2013 +1000 tests/takeover: LCP2 tests for weird, unbalanced corner-cases 2 tests to show a bad result and a 3rd test for the fix. Signed-off-by: Martin Schwenke commit 954ae6f84cb06a8dcbc12456d4752280072be5bf Author: Martin Schwenke Date: Mon Apr 8 14:37:08 2013 +1000 tests/takeover: Allow takeover runs with differing IP allocations per node Signed-off-by: Martin Schwenke --- Summary of changes: tests/src/ctdb_takeover_tests.c | 71 ++- tests/takeover/lcp2.027.sh | 45 + tests/takeover/lcp2.028.sh | 45 + tests/takeover/lcp2.029.sh | 111 +++ tests/takeover/lcp2.030.sh | 1813 +++ tests/takeover/scripts/local.sh |3 +- 6 files changed, 2075 insertions(+), 13 deletions(-) create mode 100755 tests/takeover/lcp2.027.sh create mode 100755 tests/takeover/lcp2.028.sh create mode 100755 tests/takeover/lcp2.029.sh create mode 100755 tests/takeover/lcp2.030.sh Changeset truncated at 500 lines: diff --git a/tests/src/ctdb_takeover_tests.c b/tests/src/ctdb_takeover_tests.c index 196f90d..1aa0620 100644 --- a/tests/src/ctdb_takeover_tests.c +++ b/tests/src/ctdb_takeover_tests.c @@ -21,7 +21,7 @@ /* This is lazy... but it is test code! */ #define CTDB_TEST_MAX_NODES 256 -#define CTDB_TEST_MAX_IPS 256 +#define CTDB_TEST_MAX_IPS 1024 /* Format of each line is "IP pnn" - the separator has to be at least * 1 space (not a tab or whatever - a space!). @@ -127,6 +127,11 @@ read_ctdb_public_ip_info(TALLOC_CTX *ctx, *t = '\0'; } + /* Exit on an empty line */ + if (line[0] == '\0') { + break; + } + /* Get the IP address */ tok = strtok(line, " \t"); if (tok == NULL) { @@ -140,6 +145,10 @@ read_ctdb_public_ip_info(TALLOC_CTX *ctx, } numips++; + if (numips > CTDB_TEST_MAX_IPS) { + DEBUG(DEBUG_ERR, ("ERROR: Exceeding CTDB_TEST_MAX_IPS: %d\n", CTDB_TEST_MAX_IPS)); + exit(1); + } /* Get the PNN */ pnn = -1; @@ -236,6 +245,10 @@ void ctdb_test_read_ctdb_public_ip_info(const char nodestates[]) tok = strtok(ns, ","); while (tok != NULL) { numnodes++; + if (numnodes > CTDB_TEST_MAX_NODES) { + DEBUG(DEBUG_ERR, ("ERROR: Exceeding CTDB_TEST_MAX_NODES: %d\n", CTDB_TEST_MAX_NODES)); + exit(1); + } tok = strtok(NULL, ","); } @@ -377,10 +390,26 @@ static enum ctdb_runstate *get_runstate(TALLOC_CTX *tmp_ctx, return runstate; } +/* Fake up enough CTDB state to be able to run the IP allocation + * algorithm. Usually this sets up some standard state, sets the node + * states from the command-line and reads the current IP layout from + * stdin. + * + * However, if read_ips_for_multiple_nodes is true then each node's + * idea of the IP layout is read separately from stdin. In this mode + * is doesn't make much sense to use read_ctdb_public_ip_info's + * optional ALLOWED_PNN,... list in the input, since each node is + * being handled separately anyway. IPs for each node are separated + * by a blank line. This mode is for testing weird behaviours where + * the IP layouts differs across nodes and we want to improve + * create_merged_ip_list(), so should only be used in tests of + * ctdb_takeover_run_core(). Yes, it is a hack... :-) + */ void ctdb_test_init(const char nodestates[], struct ctdb_context **ctdb, struct ctdb_public_ip_list **all_ips, - struct ctdb_ipflags **ipflags) + struct ctdb_ipflags **ipflags, + bool read_ips_for_multiple_nodes) { struct ctdb_all_public_ips *
autobuild: intermittent test failure detected
The autobuild test system has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey/2013-05-24-1542/flakey.log The samba3 build logs are available here: http://git.samba.org/autobuild.flakey/2013-05-24-1542/samba3.stderr http://git.samba.org/autobuild.flakey/2013-05-24-1542/samba3.stdout The source4 build logs are available here: http://git.samba.org/autobuild.flakey/2013-05-24-1542/samba.stderr http://git.samba.org/autobuild.flakey/2013-05-24-1542/samba.stdout The top commit at the time of the failure was: commit e24fe5705e3c4d33705ebb584ea2009bb4a1a82c Author: Stefan Metzmacher Date: Fri May 17 23:18:55 2013 +0200 libnet-vampire: make use of dsdb_repl_resolve_working_schema() Pair-Programmed-With: Matthieu Patou Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Thu May 23 14:18:03 CEST 2013 on sn-devel-104
autobuild: intermittent test failure detected
The autobuild test system has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey/2013-05-24-1742/flakey.log The samba3 build logs are available here: http://git.samba.org/autobuild.flakey/2013-05-24-1742/samba3.stderr http://git.samba.org/autobuild.flakey/2013-05-24-1742/samba3.stdout The source4 build logs are available here: http://git.samba.org/autobuild.flakey/2013-05-24-1742/samba.stderr http://git.samba.org/autobuild.flakey/2013-05-24-1742/samba.stdout The top commit at the time of the failure was: commit e24fe5705e3c4d33705ebb584ea2009bb4a1a82c Author: Stefan Metzmacher Date: Fri May 17 23:18:55 2013 +0200 libnet-vampire: make use of dsdb_repl_resolve_working_schema() Pair-Programmed-With: Matthieu Patou Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Thu May 23 14:18:03 CEST 2013 on sn-devel-104
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 39d7982 building RPMs on RHEL fail because of a typo. from e24fe57 libnet-vampire: make use of dsdb_repl_resolve_working_schema() http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 39d7982625ba05befa7bc2430a79d44984eb410e Author: Anand Avati Date: Fri May 24 12:23:06 2013 -0700 building RPMs on RHEL fail because of a typo. Signed-off-by: Anand Avati Reviewed-by: Jeremy Allison Reviewed-by: Simo Sorce Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Sat May 25 01:04:37 CEST 2013 on sn-devel-104 --- Summary of changes: packaging/RHEL/samba.spec.tmpl |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/packaging/RHEL/samba.spec.tmpl b/packaging/RHEL/samba.spec.tmpl index 7df7cb5..05e46e1 100644 --- a/packaging/RHEL/samba.spec.tmpl +++ b/packaging/RHEL/samba.spec.tmpl @@ -2,7 +2,7 @@ %define auth %(test -f /etc/pam.d/system-auth && echo /etc/pam.d/system-auth || echo) %define this_is_redhat %(test -e /etc/redhat-release && echo 1 || echo 0) %if %{this_is_redhat} > 0 -%define rhel_ver %(grep "release" /etc/redhat-release | sed %"s/^[^0-9]*\\([0-9]*\\).*/\\1/g") +%define rhel_ver %(grep "release" /etc/redhat-release | sed "s/^[^0-9]*\\([0-9]*\\).*/\\1/g") %else %define rhel_ver 0 %endif -- Samba Shared Repository
autobuild: intermittent test failure detected
The autobuild test system has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey/2013-05-25-0138/flakey.log The samba3 build logs are available here: http://git.samba.org/autobuild.flakey/2013-05-25-0138/samba3.stderr http://git.samba.org/autobuild.flakey/2013-05-25-0138/samba3.stdout The source4 build logs are available here: http://git.samba.org/autobuild.flakey/2013-05-25-0138/samba.stderr http://git.samba.org/autobuild.flakey/2013-05-25-0138/samba.stdout The top commit at the time of the failure was: commit e24fe5705e3c4d33705ebb584ea2009bb4a1a82c Author: Stefan Metzmacher Date: Fri May 17 23:18:55 2013 +0200 libnet-vampire: make use of dsdb_repl_resolve_working_schema() Pair-Programmed-With: Matthieu Patou Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Thu May 23 14:18:03 CEST 2013 on sn-devel-104
autobuild: intermittent test failure detected
The autobuild test system has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey/2013-05-25-0340/flakey.log The samba3 build logs are available here: http://git.samba.org/autobuild.flakey/2013-05-25-0340/samba3.stderr http://git.samba.org/autobuild.flakey/2013-05-25-0340/samba3.stdout The source4 build logs are available here: http://git.samba.org/autobuild.flakey/2013-05-25-0340/samba.stderr http://git.samba.org/autobuild.flakey/2013-05-25-0340/samba.stdout The top commit at the time of the failure was: commit 39d7982625ba05befa7bc2430a79d44984eb410e Author: Anand Avati Date: Fri May 24 12:23:06 2013 -0700 building RPMs on RHEL fail because of a typo. Signed-off-by: Anand Avati Reviewed-by: Jeremy Allison Reviewed-by: Simo Sorce Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Sat May 25 01:04:37 CEST 2013 on sn-devel-104