diff options
| author | Alan Conway <aconway@apache.org> | 2009-08-10 21:10:53 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2009-08-10 21:10:53 +0000 |
| commit | f1ce462da088bba87d891014c5d8b5c9eeaca238 (patch) | |
| tree | 89633a0a0a866c96250104ee064011e172868003 /qpid/cpp/src/tests/cluster.mk | |
| parent | 9d4cbbe253442fc625a4d2bf61314df7fa26e842 (diff) | |
| download | qpid-python-f1ce462da088bba87d891014c5d8b5c9eeaca238.tar.gz | |
Watchdog feature to remove unresponsive cluster nodes.
In some intstances (e.g. while resolving an error) it's possible for a
hung process to hang the entire cluster as they wait for its response.
The cluster can handle terminated processes but hung processes present
a problem.
If the watchdog plugin is loaded and --watchdog-interval is set then
the broker forks a child process that runs a very simple watchdog
program, and starts a timer in the broker process to signal the watchdog
every interval/2 seconds. The watchdog kills its parent if it does not
receive a signal for interval seconds. This allows a stuck broker to be
removed from the cluster so other cluster members can continue.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@802927 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/cluster.mk')
| -rw-r--r-- | qpid/cpp/src/tests/cluster.mk | 68 |
1 files changed, 35 insertions, 33 deletions
diff --git a/qpid/cpp/src/tests/cluster.mk b/qpid/cpp/src/tests/cluster.mk index dc592fa4d5..6fc4c64a5e 100644 --- a/qpid/cpp/src/tests/cluster.mk +++ b/qpid/cpp/src/tests/cluster.mk @@ -29,44 +29,46 @@ if HAVE_LIBCPG # ais_check checks pre-requisites for cluster tests and runs them if ok. -TESTS += \ - ais_check \ - run_cluster_tests \ - federated_cluster_test \ +TESTS += \ + ais_check \ + test_watchdog \ + run_cluster_tests \ + federated_cluster_test \ clustered_replication_test - -EXTRA_DIST += \ - ais_check \ - start_cluster \ - stop_cluster \ - restart_cluster \ - cluster_python_tests \ - cluster_python_tests_failing.txt \ - federated_cluster_test \ - clustered_replication_test \ - run_cluster_tests \ - run_long_cluster_tests \ - testlib.py \ - cluster_tests.py \ - long_cluster_tests.py - -LONG_TESTS += \ - run_long_cluster_tests \ - start_cluster \ - cluster_python_tests \ +EXTRA_DIST += \ + ais_check \ + start_cluster \ + stop_cluster \ + restart_cluster \ + cluster_python_tests \ + cluster_python_tests_failing.txt \ + federated_cluster_test \ + clustered_replication_test \ + run_cluster_tests \ + run_long_cluster_tests \ + testlib.py \ + cluster_tests.py \ + long_cluster_tests.py + +LONG_TESTS += \ + run_long_cluster_tests \ + start_cluster \ + cluster_python_tests \ stop_cluster qpidtest_PROGRAMS += cluster_test -cluster_test_SOURCES = \ - cluster_test.cpp \ - unit_test.cpp \ - ClusterFixture.cpp \ - ClusterFixture.h \ - ForkedBroker.h \ - ForkedBroker.cpp \ - PartialFailure.cpp \ - ClusterFailover.cpp + +cluster_test_SOURCES = \ + cluster_test.cpp \ + unit_test.cpp \ + ClusterFixture.cpp \ + ClusterFixture.h \ + ForkedBroker.h \ + ForkedBroker.cpp \ + PartialFailure.cpp \ + ClusterFailover.cpp + cluster_test_LDADD=$(lib_client) $(lib_broker) -lboost_unit_test_framework qpidtest_SCRIPTS += run_cluster_tests cluster_tests.py run_long_cluster_tests long_cluster_tests.py testlib.py |
