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"
33 try_command_on_node
0 "$CTDB listnodes"
34 num_nodes
=$
(echo "$out" |
wc -l)
38 TESTDB
="traverse_test.tdb"
40 echo "create test database $TESTDB"
41 try_command_on_node
0 $CTDB attach
$TESTDB
43 echo "wipe test database $TESTDB"
44 try_command_on_node
0 $CTDB wipedb
$TESTDB
46 echo "Add $num_records records to database"
48 while [ $i -lt $num_records ]; do
49 key
=$
(printf "key-%04x" $i)
52 n
=$
[ $i % $num_nodes ]
53 try_command_on_node
$n $CTDB writekey
$TESTDB $key $value
58 echo "Start a traverse and collect records"
59 try_command_on_node
0 $CTDB catdb
$TESTDB
61 num_read
=$
(tail -n 1 "$outfile" | cut
-d\
-f2)
62 if [ $num_read -eq $num_records ]; then
63 echo "GOOD: All $num_records records retrieved"
66 echo "BAD: Only $num_read/$num_records records retrieved"