summaryrefslogtreecommitdiff
path: root/cpp/src/tests/cluster_failover
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/tests/cluster_failover')
-rwxr-xr-xcpp/src/tests/cluster_failover19
1 files changed, 19 insertions, 0 deletions
diff --git a/cpp/src/tests/cluster_failover b/cpp/src/tests/cluster_failover
new file mode 100755
index 0000000000..43170c731a
--- /dev/null
+++ b/cpp/src/tests/cluster_failover
@@ -0,0 +1,19 @@
+#!/bin/sh
+# A simple manual failover test, sends a stream of numbered messages.
+# You can kill the connected broker and verify that the clients reconnect
+# and no messages are lost.
+
+URL=$1
+test -n "$URL" || { echo Usage: $0 URL ; exit 1; }
+SEND=$(mktemp /tmp/send.XXXXXXXXXX)
+RECV=$(mktemp /tmp/recv.XXXXXXXXXX)
+echo $SEND $RECV
+
+seq 1000000 > $SEND
+
+qpid-send -a 'cluster_failover;{create:always}' -b $URL --connection-options "{reconnect:true}" --send-rate 10 --content-stdin < $SEND &
+
+while msg=$(qpid-receive -m1 -f -a 'cluster_failover;{create:always}' -b $URL --connection-options "{reconnect:true,heartbeat:1}"); do
+ echo -n $msg; date
+done
+wait