CVS User Account cvsuser
Mon Jul 25 22:47:58 PDT 2005
Log Message:
-----------
Per Ian Burrell - add support for slon-tools.pm $SYNC_CHECK_INTERVAL

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.

Modified Files:
--------------
    slony1-engine/tools/altperl:
        slon-tools.pm (r1.23 -> r1.24)
        slon_tools.conf-sample (r1.5 -> r1.6)

-------------- next part --------------
Index: slon-tools.pm
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/tools/altperl/slon-tools.pm,v
retrieving revision 1.23
retrieving revision 1.24
diff -Ltools/altperl/slon-tools.pm -Ltools/altperl/slon-tools.pm -u -w -r1.23 -r1.24
--- tools/altperl/slon-tools.pm
+++ tools/altperl/slon-tools.pm
@@ -134,17 +134,18 @@
 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);
 }
 
 
Index: slon_tools.conf-sample
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/tools/altperl/slon_tools.conf-sample,v
retrieving revision 1.5
retrieving revision 1.6
diff -Ltools/altperl/slon_tools.conf-sample -Ltools/altperl/slon_tools.conf-sample -u -w -r1.5 -r1.6
--- tools/altperl/slon_tools.conf-sample
+++ tools/altperl/slon_tools.conf-sample
@@ -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-commit mailing list