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