src/utils/qa/checkSync.csh 1.18

1.18 2009/09/10 22:27:24 kuhn
put GENBANK variable in central place, to simplify finding the genbank tablelist. changed checkSync.csh to use it
Index: src/utils/qa/checkSync.csh
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/utils/qa/checkSync.csh,v
retrieving revision 1.17
retrieving revision 1.18
diff -b -B -U 1000000 -r1.17 -r1.18
--- src/utils/qa/checkSync.csh	14 May 2009 22:07:33 -0000	1.17
+++ src/utils/qa/checkSync.csh	10 Sep 2009 22:27:24 -0000	1.18
@@ -1,148 +1,148 @@
 #!/bin/tcsh
 source `which qaConfig.csh`
 
 ################################
 #  
 #  11-17-06
 #  Robert Kuhn
 #
 #  checks an entire db between two nodes in realTime
 #
 ################################
 
 set db=""
 set active=""
 set mach1="hgwbeta"
 set mach2="hgw1"
 set url1=""
 set url2=""
 set url=""
 set times=0
 
 if ( $#argv < 1 || $#argv > 4 ) then
   echo
   echo "  checks on table match for an entire db between two nodes in realTime."
   echo "  optionally reports if update times do not match."
   echo "  ignores genbank tables."
   echo "  not in real time for non-assembly databases."
   echo
   echo "    usage:  database [machine1 machine2] [times]"
   echo "              defaults to beta and hgw1"
   echo
   exit
 else
   set db=$argv[1]
 endif
 
 if ( "$HOST" != "hgwdev" ) then
  echo "\n error: you must run this script on dev!\n"
  exit 1
 endif
 
 if ( $#argv == 2 ) then
   if ( "times" == $argv[2] ) then
     set times=1
   else
     echo
     echo " you must specify two machines if you specify one"
     echo
     echo ${0}:
     $0
     exit 1
   endif
 endif
 
 if ( $#argv == 3 || $#argv == 4 ) then
   set mach1=$argv[2]
   set mach2=$argv[3]
 endif
 
 checkMachineName.csh $mach1 $mach2
 if ( $status ) then
   exit 1
 endif
 
 if ( $#argv == 4 ) then
   if ( $argv[4] == "times" ) then
     set times=1
   else
     echo
     echo ' the fourth argument must be "times"\n'
     echo ${0}:
     $0
     exit 1
   endif
 endif
 
 # get tablenames for stripping out genbank
-cat /cluster/data/genbank/etc/genbank.tbls | sed -e 's/^^//; s/.$//' \
-  > genbank.local
+rm -f genbank.local
+cat $GENBANK | sed -e 's/^^//; s/.$//' > genbank.local
 echo gbLoaded >> genbank.local
 
 # 
 set active=`hgsql -h $sqlbeta -Ne "SELECT name FROM dbDb where active = 1" hgcentralbeta \
   | grep $db`
 foreach machine ( $mach1 $mach2 )
   # check if db is for active assembly on beta
   # (if not, can't do real-time check)
   if ( $db == $active ) then
     # get the full table status in real time
     getTableStatus.csh $db $machine > $machine.tmp
     if ( $status ) then
       cat $machine.tmp
       rm $machine.tmp
 
       exit 1
     endif
   else
     # db is either not active, or not an assembly.  must use status dumps.
     cp `getRRdumpfile.csh $db $machine` $machine.tmp
   endif
   
   # drop header lines from file and grab appropriate fields
   if ( 1 == $times) then
     # find mysql version before grabbing STATUS fields
     set ver=`getVersion.csh $machine 1`
     set subver=`getVersion.csh $machine 2`
     if ( 4 == $ver && 1 == $subver || 5 == $ver ) then
       # newer mysql versions use different fields
       cat $machine.tmp | sed '1,2d' \
         | awk '{print $1, $14, $15}' >& $machine.status
     else
       cat $machine.tmp | sed '1,2d' \
         | awk '{print $1, $13, $14}' >& $machine.status
     endif
   else
     cat $machine.tmp | sed '1,2d' \
       | awk '{print $1}' >& $machine.status
   endif
   rm $machine.tmp
   
   # strip genbank
   cat $machine.status | egrep -v -f genbank.local | grep -v gbDelete_tmp \
     > $machine.out
   rm -f $machine.status
 end
 
 # get diffs
 commTrio.csh $mach1.out $mach2.out | sed -e "s/\.out//g" \
    | sed -e "s/Only/only/" > trioFile
 echo
 cat trioFile
 
 # process the times or table names of tables that do not match
 set firstOnly=`cat trioFile | sed -n '1p' | awk '{print $1}'`
 set secondOnly=`cat trioFile | sed -n '2p' | awk '{print $1}'`
 rm -f outFile
 if ( 0 != $firstOnly || 0 !=  $secondOnly ) then
   cat $mach1.out.Only | sed -e "s/^/$mach1\t/" >> outFile
   cat $mach2.out.Only | sed -e "s/^/$mach2\t/" >> outFile
   sort -k2 outFile 
   echo
 endif
 
 rm -f *Only
 rm -f "*out"
 rm -f trioFile
 rm -f outFile
 rm -f genbank.local