[SCM] CTDB repository - branch 1.0.112 updated - ctdb-1.0.111-44-gf8b3238
Ronnie Sahlberg
sahlberg at samba.org
Mon Feb 22 22:41:15 MST 2010
The branch, 1.0.112 has been updated
via f8b32385257c9526999a229e84020677deb79eaf (commit)
via b00e33d98c75297c34560e765ce5604ab4d402ec (commit)
via e274b4fde6084031646f0e5541ca5a2bdf9217d0 (commit)
from 9cb1a3393efc479494de11839cfd3b080b7c8914 (commit)
http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=1.0.112
- Log -----------------------------------------------------------------
commit f8b32385257c9526999a229e84020677deb79eaf
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Feb 23 16:19:51 2010 +1100
new version 1.0.112-10
* Tue Feb 23 2010 : Version 1.0.112-10
- revert the change in 10.0.0.112-9 and make a new attempt to make the scripts\
behave.
- make writing the ticklelist in 61.nfstickle a background task to avoid
having a long cluster fs pause cause a node to become unhealthy
- critical bugfix. during an error path in the "end recovery" code
we could release a memory block before we had finished referencing it
which could lead to a segv. bz 61068
- make sure we tear down the natgw configuration when a node become stopped
or else we might end up with a duplicate ip address when a different node
takes over the natgw role. bz 61036
commit b00e33d98c75297c34560e765ce5604ab4d402ec
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Feb 23 16:09:09 2010 +1100
store the nfs tickles for 61.nfstickle in a background shell
instead of blocking while it finishes.
this avoids having the eventscript hang/timeout if the underlying cluster filesystem hangs and blocks for 30+ seconds.
commit e274b4fde6084031646f0e5541ca5a2bdf9217d0
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Feb 23 16:07:17 2010 +1100
Revert "Ignore any scripts that timesout for most events, except startup."
This reverts commit 527597ed6d9142c0b47a9c419c828793826ac95e.
-----------------------------------------------------------------------
Summary of changes:
config/events.d/61.nfstickle | 23 ++++++++++++++---------
packaging/RPM/ctdb.spec.in | 12 +++++++++++-
server/eventscript.c | 16 +---------------
3 files changed, 26 insertions(+), 25 deletions(-)
Changeset truncated at 500 lines:
diff --git a/config/events.d/61.nfstickle b/config/events.d/61.nfstickle
index 14794fe..c91d393 100755
--- a/config/events.d/61.nfstickle
+++ b/config/events.d/61.nfstickle
@@ -15,6 +15,19 @@ ctdb_start_stop_service
[ -z "$NFS_TICKLE_SHARED_DIRECTORY" ] && exit 0
+store_tickles()
+{
+ mydir=$NFS_TICKLE_SHARED_DIRECTORY/`hostname`
+ rm -f $mydir/*
+ # record our connections to shared storage
+ netstat -tn |egrep '^tcp[[:space:]]+[0-9]+[[:space:]]+[0-9]+[[:space:]]+[0-9\.]+:2049.*ESTABLISHED' |
+ awk '{print $4" "$5}' |
+ while read dest src; do
+ ip=${dest%:*}
+ echo $src >> $mydir/$ip
+ done
+}
+
case "$1" in
startup)
ctdb_service_start
@@ -39,15 +52,7 @@ case "$1" in
;;
monitor)
- mydir=$NFS_TICKLE_SHARED_DIRECTORY/`hostname`
- rm -f $mydir/*
- # record our connections to shared storage
- netstat -tn |egrep '^tcp[[:space:]]+[0-9]+[[:space:]]+[0-9]+[[:space:]]+[0-9\.]+:2049.*ESTABLISHED' |
- awk '{print $4" "$5}' |
- while read dest src; do
- ip=${dest%:*}
- echo $src >> $mydir/$ip
- done
+ store_tickles &
;;
*)
diff --git a/packaging/RPM/ctdb.spec.in b/packaging/RPM/ctdb.spec.in
index de15224..9a2f10b 100644
--- a/packaging/RPM/ctdb.spec.in
+++ b/packaging/RPM/ctdb.spec.in
@@ -5,7 +5,7 @@ Vendor: Samba Team
Packager: Samba Team <samba at samba.org>
Name: ctdb
Version: 1.0.112
-Release: 9
+Release: 10
Epoch: 0
License: GNU GPL version 3
Group: System Environment/Daemons
@@ -123,6 +123,16 @@ rm -rf $RPM_BUILD_ROOT
%{_docdir}/ctdb/tests/bin/ctdb_transaction
%changelog
+* Tue Feb 23 2010 : Version 1.0.112-10
+ - revert the change in 10.0.0.112-9 and make a new attempt to make the scripts behave.
+ - make writing the ticklelist in 61.nfstickle a background task to avoid
+ having a long cluster fs pause cause a node to become unhealthy
+ - critical bugfix. during an error path in the "end recovery" code
+ we could release a memory block before we had finished referencing it
+ which could lead to a segv. bz 61068
+ - make sure we tear down the natgw configuration when a node become stopped
+ or else we might end up with a duplicate ip address when a different node
+ takes over the natgw role. bz 61036
* Tue Feb 16 2010 : Version 1.0.112-9
- treat all scripts that hang (except for startup) as success even if they hung
* Mon Feb 15 2010 : Version 1.0.112-8
diff --git a/server/eventscript.c b/server/eventscript.c
index 8cac635..e0908e1 100644
--- a/server/eventscript.c
+++ b/server/eventscript.c
@@ -516,21 +516,7 @@ static void ctdb_event_script_timeout(struct event_context *ev, struct timed_eve
DEBUG(DEBUG_ERR,("Event script timed out : %s %s %s count : %u pid : %d\n",
current->name, ctdb_eventscript_call_names[state->call], state->options, ctdb->event_script_timeouts, state->child));
- /* ignore timeouts for these events */
- switch (state->call) {
- case CTDB_EVENT_START_RECOVERY:
- case CTDB_EVENT_RECOVERED:
- case CTDB_EVENT_TAKE_IP:
- case CTDB_EVENT_RELEASE_IP:
- case CTDB_EVENT_STOPPED:
- case CTDB_EVENT_MONITOR:
- case CTDB_EVENT_STATUS:
- state->scripts->scripts[state->current].status = 0;
- DEBUG(DEBUG_ERR,("Ignoring hung script for %s call %d\n", state->options, state->call));
- break;
- default:
- state->scripts->scripts[state->current].status = -ETIME;
- }
+ state->scripts->scripts[state->current].status = -ETIME;
if (kill(state->child, 0) != 0) {
DEBUG(DEBUG_ERR,("Event script child process already dead, errno %s(%d)\n", strerror(errno), errno));
--
CTDB repository
More information about the samba-cvs
mailing list