Ian Burrell ianburrell
Mon Jul 25 22:22:50 PDT 2005
It was suggested that we increase the sync check interval (-s).  We
are using slon_start to the daemons.  The value (-s 1000) is hardcoded
in slon-tools.pm.  Instead of editing that file, I added support for
setting the value in the conf file.

The appended patch adds a new config variable, $SYNC_CHECK_INTERVAL,
to slon_tools.conf and uses it in start_slon.  It maintains the
current defaultt of 1000, although shouldn't it have the true default
of 1000.  It also does some refactoring of the construction of the
command line.

 - Ian


Index: tools/altperl/slon-tools.pm
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/tools/altperl/slon-tools.pm,v
retrieving revision 1.23
diff -u -b -B -r1.23 slon-tools.pm
--- tools/altperl/slon-tools.pm	13 Jun 2005 14:37:25 -0000	1.23
+++ tools/altperl/slon-tools.pm	25 Jul 2005 21:20:43 -0000
@@ -134,20 +134,20 @@
 sub start_slon {
   my ($nodenum) = @_;
   my ($dsn, $dbname) = ($DSN[$nodenum], $DBNAME[$nodenum]);
-  my $cmd;
-  `mkdir -p $LOGDIR/slony1/node$nodenum`;
+  $SYNC_CHECK_INTERVAL ||= 1000;
+  system("mkdir -p $LOGDIR/slony1/node$nodenum");
+  my $cmd = "@@PGBINDIR@@/slon -s $SYNC_CHECK_INTERVAL -d2
$CLUSTER_NAME '$dsn' 2>&1 ";
   if ($APACHE_ROTATOR) {
-    $cmd = "@@PGBINDIR@@/slon -s 1000 -d2 $CLUSTER_NAME '$dsn' 2>&1 |
$APACHE_ROTATOR \"$LOGDIR/slony1/node$nodenum/" . $dbname .
"_%Y-%m-%d_%H:%M:%S.log\" 10M&";
+    $cmd .= "| $APACHE_ROTATOR \"$LOGDIR/slony1/node$nodenum/" .
$dbname . "_%Y-%m-%d_%H:%M:%S.log\" 10M &";
   } else {
     my $now=`date '+%Y-%m-%d_%H:%M:%S'`;
     chomp $now;
-    $cmd = "@@PGBINDIR@@/slon -s 1000 -d2 -g 80 $CLUSTER_NAME '$dsn'
2>&1 > $LOGDIR/slony1/node$nodenum/$dbname-$now.log &";
+    $cmd .= "> $LOGDIR/slony1/node$nodenum/$dbname-$now.log &";
   }
   print "Invoke slon for node $nodenum - $cmd\n";
-  system $cmd;
+  system($cmd);
 }
 
-
 $killafter="00:20:00";  # Restart slon after this interval, if there
is no activity
 sub query_slony_status {
   my ($nodenum) = @_;
Index: tools/altperl/slon_tools.conf-sample
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/tools/altperl/slon_tools.conf-sample,v
retrieving revision 1.5
diff -u -b -B -r1.5 slon_tools.conf-sample
--- tools/altperl/slon_tools.conf-sample	10 Mar 2005 17:50:03 -0000	1.5
+++ tools/altperl/slon_tools.conf-sample	25 Jul 2005 21:20:43 -0000
@@ -31,6 +31,9 @@
     #
     # $APACHE_ROTATOR = '/usr/local/apache/bin/rotatelogs';
 
+    # SYNC check interval (slon -s option)
+    # $SYNC_CHECK_INTERVAL = 1000;
+
     # Which node is the default master for all sets?
     $MASTERNODE = 1;


More information about the Slony1-general mailing list