Chris Browne cbbrowne at lists.slony.info
Mon Jul 30 15:33:18 PDT 2007
Update of /home/cvsd/slony1/slony1-engine/tests/testlogship
In directory main.slony.info:/tmp/cvs-serv827/tests/testlogship

Modified Files:
      Tag: REL_1_2_STABLE
	generate_dml.sh init_subscribe_set.ik settings.ik 
Added Files:
      Tag: REL_1_2_STABLE
	moveset.sh 
Log Message:
Added a test to "testlogship" which attempts to induce the problems
recently experienced where there is a race condition adversely affecting
log shipping when events come along that cause the slon to restart and
reload its config. (That happens with DROP NODE, ACCEPT SET.)

Also updated release notes to correspond.


Index: settings.ik
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/testlogship/settings.ik,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C2 -d -r1.1.2.1 -r1.1.2.2
*** settings.ik	20 Apr 2007 20:51:09 -0000	1.1.2.1
--- settings.ik	30 Jul 2007 22:33:15 -0000	1.1.2.2
***************
*** 1,6 ****
  NUMCLUSTERS=${NUMCLUSTERS:-"1"}
! NUMNODES=${NUMNODES:-"3"}
  ORIGINNODE=1
  WORKERS=${WORKERS:-"1"}
  ARCHIVE2=true   # Node #2 needs to run log archiving
! LOGSHIP3=true   # Node #3 receives data via log shipping
\ No newline at end of file
--- 1,6 ----
  NUMCLUSTERS=${NUMCLUSTERS:-"1"}
! NUMNODES=${NUMNODES:-"4"}
  ORIGINNODE=1
  WORKERS=${WORKERS:-"1"}
  ARCHIVE2=true   # Node #2 needs to run log archiving
! LOGSHIP3=true   # Node #3 receives data via log shipping

Index: init_subscribe_set.ik
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/testlogship/init_subscribe_set.ik,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C2 -d -r1.1.2.1 -r1.1.2.2
*** init_subscribe_set.ik	20 Apr 2007 20:51:09 -0000	1.1.2.1
--- init_subscribe_set.ik	30 Jul 2007 22:33:15 -0000	1.1.2.2
***************
*** 3,4 ****
--- 3,8 ----
  sleep (seconds = 2);
  echo 'done sleeping...';
+ subscribe set (id = 1, provider = 1, receiver = 4, forward = yes);
+ echo 'sleep a couple of seconds...';
+ sleep (seconds = 2);
+ echo 'done sleeping...';

--- NEW FILE: moveset.sh ---
testname=$1
echo "
  LOCK SET ( ID = 1, ORIGIN = 1 );
  MOVE SET ( ID = 1, OLD ORIGIN = 1, NEW ORIGIN = 4 );
"

Index: generate_dml.sh
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/testlogship/generate_dml.sh,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -C2 -d -r1.1.2.3 -r1.1.2.4
*** generate_dml.sh	13 Jun 2007 15:56:44 -0000	1.1.2.3
--- generate_dml.sh	30 Jul 2007 22:33:15 -0000	1.1.2.4
***************
*** 115,119 ****
  
    wait_for_catchup
!   status "second data load complete - now load files into log shipped node"
    for logfile in `/usr/bin/find ${mktmp}/archive_logs_2 -name "slony1_log_*.sql" -type f | sort`; do
      $pgbindir/psql -h ${HOST3} -p ${PORT3} -d ${DB3} -U ${USER3} -f ${logfile} >> $mktmp/logshipping_output.log 2>> $mktmp/logshipping_errors.log
--- 115,136 ----
  
    wait_for_catchup
! 
!   status "move set to node 4"
! 
!   init_preamble
!   sh ${testname}/moveset.sh ${testname} >> $SCRIPT
!   do_ik
! 
!   status "origin moved"
! 
!   generate_initdata
!   eval db=\$DB4
!   status "loading extra data to node $db"
!   $pgbindir/psql -h $host -p $port -U $user -d $db < $mktmp/generate.data 1> ${mktmp}/even_more_data.log 2> ${mktmp}/even_more_data.log2
! 
!   wait_for_catchup
! 
! 
!   status "final data load complete - now load files into log shipped node"
    for logfile in `/usr/bin/find ${mktmp}/archive_logs_2 -name "slony1_log_*.sql" -type f | sort`; do
      $pgbindir/psql -h ${HOST3} -p ${PORT3} -d ${DB3} -U ${USER3} -f ${logfile} >> $mktmp/logshipping_output.log 2>> $mktmp/logshipping_errors.log



More information about the Slony1-commit mailing list