6 Test CTDB cluster wide traverse code.
10 * An active CTDB cluster with at least 2 active nodes.
14 1. Create a test database
15 2. Add records on different nodes
20 * All records are retrieved.
25 .
"${TEST_SCRIPTS_DIR}/integration.bash"
34 ctdb_restart_when_done
36 try_command_on_node
0 "$CTDB listnodes"
37 num_nodes
=$
(echo "$out" |
wc -l)
41 TESTDB
="traverse_test.tdb"
43 echo "create test database $TESTDB"
44 try_command_on_node
0 $CTDB attach
$TESTDB
46 echo "wipe test database $TESTDB"
47 try_command_on_node
0 $CTDB wipedb
$TESTDB
49 echo "Add $num_records records to database"
51 while [ $i -lt $num_records ]; do
52 key
=$
(printf "key-%04x" $i)
55 n
=$
[ $i % $num_nodes ]
56 try_command_on_node
$n $CTDB writekey
$TESTDB $key $value
61 echo "Start a traverse and collect records"
62 try_command_on_node
0 $CTDB catdb
$TESTDB
64 num_read
=$
(echo "$out" |
tail -n 1 | cut
-d\
-f2)
65 if [ $num_read -eq $num_records ]; then
66 echo "GOOD: All $num_records records retrieved"
69 echo "BAD: Only $num_read/$num_records records retrieved"