github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/tests/integration_tests/_utils/check_sync_diff (about)

     1  #!/bin/bash
     2  # parameter 1: work directory
     3  # parameter 2: config file for sync_diff_inspector
     4  # parameter 3: max check times
     5  
     6  workdir=$1
     7  conf=$2
     8  if [ $# -ge 3 ]; then
     9  	check_time=$3
    10  else
    11  	check_time=30
    12  fi
    13  binary=sync_diff_inspector
    14  
    15  PWD=$(pwd)
    16  LOG=$workdir/sync_diff_inspector.log
    17  
    18  mkdir -p /tmp/ticdc_dm_test
    19  
    20  cd $workdir
    21  i=0
    22  while [ $i -lt $check_time ]; do
    23  	rm -rf $workdir/sync_diff/
    24  	$binary --log-level=debug --config=$conf >>$LOG 2>&1
    25  	ret=$?
    26  	if [ "$ret" == 0 ]; then
    27  		echo "check diff successfully"
    28  		break
    29  	fi
    30  	((i++))
    31  	echo "check diff failed $i-th time, retry later"
    32  	sleep 2
    33  done
    34  
    35  if [ $i -ge $check_time ]; then
    36  	echo "check diff failed at last"
    37  	# show \n and other blanks
    38  	cat $LOG
    39  	printf "\n"
    40  	cat $workdir/sync_diff/output/sync_diff.log
    41  	printf "\n"
    42  	exit 1
    43  fi
    44  cd $PWD