Stabilize a cluster logging unit test

This commit is contained in:
Jon Siwek 2018-08-24 14:57:55 -05:00
parent 5c9813eadb
commit 1eeecf5fcc
5 changed files with 33 additions and 17 deletions

View file

@ -3,8 +3,9 @@
# @TEST-EXEC: btest-bg-run manager-1 "cp ../cluster-layout.bro . && CLUSTER_NODE=manager-1 bro %INPUT"
# @TEST-EXEC: btest-bg-run worker-1 "cp ../cluster-layout.bro . && CLUSTER_NODE=worker-1 bro --pseudo-realtime -C -r $TRACES/wikipedia.trace %INPUT"
# @TEST-EXEC: btest-bg-wait 20
# @TEST-EXEC: cat manager-1/reporter.log | grep -v "reporter/" > manager-reporter.log
# @TEST-EXEC: TEST_DIFF_CANONIFIER="$SCRIPTS/diff-canonifier | grep -v ^# | $SCRIPTS/diff-sort" btest-diff manager-reporter.log
# @TEST-EXEC: grep qux manager-1/reporter.log | sed 's#line ..#line XX#g' > manager-reporter.log
# @TEST-EXEC: grep qux manager-1/reporter-2.log | sed 's#line ..*#line XX#g' >> manager-reporter.log
# @TEST-EXEC: TEST_DIFF_CANONIFIER="$SCRIPTS/diff-canonifier | $SCRIPTS/diff-remove-abspath | grep -v ^# | $SCRIPTS/diff-sort" btest-diff manager-reporter.log
@TEST-START-FILE cluster-layout.bro
@ -35,7 +36,7 @@ type Extension: record {
function add_extension(path: string): Extension
{
return Extension($write_ts = network_time(),
$stream = path,
$stream = "bah",
$system_name = peer_description);
}
@ -56,16 +57,31 @@ event slow_death()
event kill_worker()
{
Reporter::info("qux");
Broker::publish("death", slow_death);
}
event bro_init()
{
if ( Cluster::node == "worker-1" )
{
Broker::subscribe("death");
suspend_processing();
}
}
event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
{
if ( Cluster::node == "manager-1" )
schedule 13sec { kill_worker() };
{
schedule 2sec { kill_worker() };
}
if ( Cluster::node == "worker-1" )
{
continue_processing();
Reporter::info("qux");
}
}
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)

View file

@ -57,13 +57,19 @@ event kill_worker()
event bro_init()
{
if ( Cluster::node == "worker-1" )
{
suspend_processing();
Broker::subscribe("death");
}
}
event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
{
if ( Cluster::node == "manager-1" )
schedule 2sec { kill_worker() };
if ( Cluster::node == "worker-1" )
continue_processing();
}
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)