#!/bin/bash
# UNCOMMENT THE FOLLOWING FILE TO MONITOR DE PROGRESS. GET progress.sh.gz at https://aic.ai.wu.ac.at/qadlod/hdtq/eswc2018/scripts/progress.sh.gz
#source progress.sh
#

#####################
##### SET THE DATASETS TO TEST
####
#datasets="LUBM500_1 LUBM500_10 LUBM500_100 LUBM500_1000 LUBM500_9998 BEARday BEARhour LUBM500_20 LUBM500_30 LUBM500_40 LUBM500_50 LUBM500_60 LUBM500_70 LUBM500_80 LUBM500_90 LUBM500_2000 LUBM500_3000 LUBM500_4000 LUBM500_5000 LUBM500_6000 LUBM500_7000 LUBM500_8000 LUBM500_9000 LDBC liddi"
datasets="liddi"
#####################


#####################
##### SET THE SYSTEMS TO TEST, BY SUFFIX: 
#### A) .vir for virtuoso
#### B) +.vir for virtuoso+
#### C) .tdb for Jena TDB
#### D) AT.hdt for HDTQ-AT
#### E) AG.hdt for HDTQ-AG
####
#systems=".vir +.vir .tdb AT.hdt AG.hdt"
systems="AG.hdt"
force="" # emptyString=NO, "-F"=yes
#####################


#####################
##### SET THE SYSTEMS TO TEST, BY SUFFIX: 
####
#patterns="SPOG SPOV SPVG SVOG VPOG SPVV SVOV SVVG VVOG SVVV VVOV VVVG VPVG VPOV VPVV VVVV" # VPVVS VPVVL
patterns="VVVV"
#####################


#####################
##### SET THE SYSTEMS TO TEST, BY SUFFIX: 
####
repetitions=3 # usually 3
#####################

if [ "$force" == "-F" ] ; then
  echo "ATTENTION!! FORCE IS ACTIVATED"
  sleep 10
else
  echo "Force is deactivated"
fi

echo "Now changing system swappiness to 10"
sudo /sbin/sysctl -w vm.swappiness=10

for dataset in $datasets
do
        for system in $systems
	do
           echo "current system is: $system"
           if [ $system == ".vir" ] || [ $system == "+.vir" ]
           then
	      #### SET THE LOCATION OF THE VIRTUOSO SYSTEM
              cd $DATA_ROOT/data/$dataset/$dataset$system # go to db folder
              ./stop      # stop virtuoso server
              sleep 5     # wait briefly
              ./start     # start the server
              sleep 5     # wait briefly
           fi

	   #### PERFORM THE QUERIES
	   sudo java -Xms184320M -Xmx184320M -jar ~/jars/performanceTestCompressed.jar $force -f $DATA_ROOT/data/$dataset/$dataset$system -o ~/results/ -q $DATA_ROOT/data/$dataset/queries/ -r $repetitions -p $patterns
           if [ $system == ".vir" ] || [ $system == "+.vir" ]
           then
               /home/julian/virtuoso/stop      # stop virtuoso server
           fi
           echo "short break, then continuing with the next system"
           sleep 10
	done
        echo "Now checking if results are ok"
        # now check if the results are all the same for this dataset
        echo "Cold:"
        sudo java -jar ~/jars/checkTestResult.jar -f ~/results/resultCold.json -n 100 -d $dataset
        echo "Warm:"
        sudo java -jar ~/jars/checkTestResult.jar -f ~/results/resultWarm.json -n 100 -d $dataset
done

echo "Now changing system swappiness back to 60"
sudo /sbin/sysctl -w vm.swappiness=60
