kafka/system_test/broker_failure
Jun Rao a40953196e Use uniform convention for naming properties keys; kafka-648; patched by Sriram Subramanian; reviewed by Jun Rao 2013-01-11 16:12:57 -08:00
..
bin extend DumpLogSegments to verify consistency btw data and index; patched by Yang Ye; reviewed by Neha Narkhede and Jun Rao; KAFKA-577 2012-10-29 22:09:43 +00:00
config Use uniform convention for naming properties keys; kafka-648; patched by Sriram Subramanian; reviewed by Jun Rao 2013-01-11 16:12:57 -08:00
README broker failure system test broken on replication branch; patched by John Fung; reviewed by Joel Koshy and Jun Rao; KAFKA-306 2012-07-10 18:05:54 +00:00

README

** Please note that the following commands should be executed
   after downloading the kafka source code to build all the
   required binaries:
   1. <kafka install dir>/ $ ./sbt update
   2. <kafka install dir>/ $ ./sbt package

   Now you are ready to follow the steps below.

This script performs broker failure tests in an environment with
Mirrored Source & Target clusters in a single machine:

1. Start a cluster of Kafka source brokers
2. Start a cluster of Kafka target brokers
3. Start one or more Mirror Maker to create mirroring between
   source and target clusters
4. A producer produces batches of messages to the SOURCE brokers
   in the background
5. The Kafka SOURCE, TARGET brokers and Mirror Maker will be
   terminated in a round-robin fashion and wait for the consumer
   to catch up.
6. Repeat step 5 as many times as specified in the script
7. An independent ConsoleConsumer in publish/subcribe mode to
   consume messages from the SOURCE brokers cluster
8. An independent ConsoleConsumer in publish/subcribe mode to
   consume messages from the TARGET brokers cluster

Expected results:
==================
There should not be any discrepancies by comparing the unique 
message checksums from the source ConsoleConsumer and the 
target ConsoleConsumer.

Notes:
==================
The number of Kafka SOURCE brokers can be increased as follows:
1. Update the value of $num_kafka_source_server in this script
2. Make sure that there are corresponding number of prop files:
   $base_dir/config/server_source{1..4}.properties

The number of Kafka TARGET brokers can be increased as follows:
1. Update the value of $num_kafka_target_server in this script
2. Make sure that there are corresponding number of prop files:
   $base_dir/config/server_target{1..3}.properties

Quick Start:
==================
In the directory <kafka home>/system_test/broker_failure,
execute this script as following:
  $ bin/run-test.sh -n <num of iterations> -s <servers to bounce>

num of iterations - the number of iterations that the test runs

servers to bounce - the servers to be bounced in a round-robin fashion.

    Values to be entered:
        1 - source broker
        2 - mirror maker
        3 - target broker

    Example:
        * To bounce only mirror maker and target broker
          in turns, enter the value 23.
        * To bounce only mirror maker, enter the value 2.
        * To run the test without bouncing, enter 0.

At the end of the test, the received messages checksums in both
SOURCE & TARGET will be compared. If all checksums are matched,
the test is PASSED. Otherwise, the test is FAILED.

In the event of failure, by default the brokers and zookeepers
remain running to make it easier to debug the issue - hit Ctrl-C
to shut them down.