2009-12-09 21:38:44 +01:00
#!/bin/bash
test_info( )
{
cat <<EOF
2016-08-02 14:52:14 +10:00
Verify that the transaction_loop test succeeds with recoveries.
2009-12-09 21:38:44 +01:00
Prerequisites:
* An active CTDB cluster with at least 2 active nodes.
EOF
}
recovery_loop( )
{
local COUNT = 1
while true ; do
echo Recovery $COUNT
2013-11-07 16:01:49 +11:00
try_command_on_node 0 $CTDB recover
2009-12-09 21:38:44 +01:00
sleep 2
COUNT = $(( COUNT + 1 ))
done
}
recovery_loop_start( )
{
2013-11-21 16:38:43 +11:00
recovery_loop >/dev/null &
2009-12-09 21:38:44 +01:00
RECLOOP_PID = $!
ctdb_test_exit_hook_add " kill $RECLOOP_PID >/dev/null 2>&1 "
}
2012-04-18 14:55:21 +10:00
. " ${ TEST_SCRIPTS_DIR } /integration.bash "
2009-12-09 21:38:44 +01:00
ctdb_test_init " $@ "
set -e
cluster_is_healthy
2016-08-02 14:52:14 +10:00
ctdb_restart_when_done
2016-06-17 18:06:07 +10:00
try_command_on_node 0 " $CTDB attach transaction_loop.tdb persistent "
try_command_on_node 0 " $CTDB wipedb transaction_loop.tdb "
2009-12-09 21:38:44 +01:00
try_command_on_node 0 " $CTDB listnodes "
num_nodes = $( echo " $out " | wc -l)
2014-10-08 12:22:06 +11:00
if [ -z " $CTDB_TEST_TIMELIMIT " ] ; then
CTDB_TEST_TIMELIMIT = 30
2009-12-09 21:38:44 +01:00
fi
2016-04-18 17:11:36 +10:00
t = " $CTDB_TEST_WRAPPER $VALGRIND transaction_loop \
-n ${ num_nodes } -t ${ CTDB_TEST_TIMELIMIT } "
2009-12-09 21:38:44 +01:00
echo "Starting recovery loop"
recovery_loop_start
2016-08-02 14:52:14 +10:00
echo " Running transaction_loop on all $num_nodes nodes. "
2016-04-18 17:11:36 +10:00
try_command_on_node -v -p all " $t "