X-Git-Url: https://git.8kb.co.uk/?p=slony-i%2Fpgbouncer_follower;a=blobdiff_plain;f=pgbouncer_follower.pl;h=8677071634ed6fa2531161fab4aa8d1d13e69dde;hp=23eabcd068cab5b2301bbc4529bc6f4f67ced748;hb=HEAD;hpb=399f595661a3c583cdd16d18e4da7ad6ea089393 diff --git a/pgbouncer_follower.pl b/pgbouncer_follower.pl index 23eabcd..8677071 100755 --- a/pgbouncer_follower.pl +++ b/pgbouncer_follower.pl @@ -145,7 +145,12 @@ sub doAll { } elsif($g_best_config) { if ($g_debug) { - printLogLn($g_logfile, "DEBUG: Found current origin to read config from"); + if ($g_method eq 'slony') { + printLogLn($g_logfile, "DEBUG: Found current origin to read config from"); + } + elsif ($g_method eq 'wal') { + printLogLn($g_logfile, "DEBUG: Read config from all contactable nodes"); + } } last; } @@ -544,10 +549,17 @@ sub loadBinCluster { } # Do the post processing we mentioned above, once we know xlog locations differ # then we can say the apply lag is correct, else it's just there has been no - # activity on the master. + # activity on the master. In the case the xlog locations differ but apply_lag + # is 0 then it means no WAL has been applied since srver start; we don't know + # a time for lag in this case. else { foreach (@tmp_cluster) { - $apply_lag = ((@$_[12] > 0 && @$_[11] != $primary_location) ? @$_[12] : 0); + $apply_lag = false; + if ($g_max_lag > 0) { + if ((@$_[11] ne $primary_location) && (@$_[12] > $g_max_lag || @$_[12] == 0)) { + $apply_lag = true; + } + } my @node=(@$_[0],@$_[1],@$_[2],@$_[3],@$_[4],@$_[5],@$_[6],@$_[7],@$_[8],@$_[9],@$_[10],$apply_lag); push(@cluster, \@node); }