if (my $pid = fork) {
# parent
push( @logs, "$p-$aa.log" );
- if( $p =~ /config_server/ ) {
- push( @logs, paxos_log($a[1]) );
- }
if( $p =~ /lock_server/ ) {
push( @logs, paxos_log($a[1]) );
}
return spawn( "./lock_server", $master, $port );
}
-sub spawn_config {
- my $master = shift;
- my $port = shift;
- return spawn( "./config_server", $master, $port );
-}
-
sub check_views {
my $l = shift;
my $start = time();
while( (get_num_views( $log, $including ) < $num_views) and
($start + $timeout > time()) ) {
- my $lastv = `grep done $log | tail -n 1`;
- chomp $lastv;
+ my $lastv = `grep done $log | tail -n 1`;
+ chomp $lastv;
print " Waiting for $including to be present in >=$num_views views in $log (Last view: $lastv)\n";
sleep 1;
}
my $command = shift;
for (my $i = 0; $i < $n; $i++) {
- if ($command eq "ls") {
- @pid = (@pid, spawn_ls($p[0],$p[$i]));
- print "Start lock_server on $p[$i]\n";
- }elsif ($command eq "config_server"){
- @pid = (@pid, spawn_config($p[0],$p[$i]));
- print "Start config on $p[$i]\n";
- }
+ if ($command eq "ls") {
+ @pid = (@pid, spawn_ls($p[0],$p[$i]));
+ print "Start lock_server on $p[$i]\n";
+ }
sleep 1;
my @vv = @p[0..$i];
foreach my $port (@lastv) {
wait_for_view_change(paxos_log($port), $in_views{$port}+1, $port, 20);
}
- sleep 10;
+ sleep 10;
# now check the paxos logs and make sure the logs go through the right
# views
if ($do_run[8]) {
print "test8: start 3-process lock service\n";
- start_nodes(3,"ls");
+ start_nodes(3,"ls");
print "Start lock_tester $p[0]\n";
$t = spawn("./lock_tester", $p[0]);
if ($do_run[9]) {
print "test9: start 3-process rsm, kill second slave while lock_tester is running\n";
- start_nodes(3,"ls");
+ start_nodes(3,"ls");
print "Start lock_tester $p[0]\n";
$t = spawn("./lock_tester", $p[0]);
if ($do_run[10]) {
print "test10: start 3-process rsm, kill second slave and restarts it later while lock_tester is running\n";
- start_nodes(3,"ls");
+ start_nodes(3,"ls");
print "Start lock_tester $p[0]\n";
$t = spawn("./lock_tester", $p[0]);
if ($do_run[11]) {
print "test11: start 3-process rsm, kill primary while lock_tester is running\n";
- start_nodes(3,"ls");
+ start_nodes(3,"ls");
print "Start lock_tester $p[0]\n";
$t = spawn("./lock_tester", $p[0]);