Testcase setup (in my case it took about a night of runtime to trigger);
1. Attached tar is a recent version of sysbench. Extract in home dir, creates ~/sysbenchnew
2. Start server (cd basedir; ~/percona-qa/startup.sh 0; ./start)
3. Prep sysbech:
export LD_PRELOAD=${PWD}/bundle/libmysqlclient_r.so.16
~/sysbenchnew/sysbench --num-threads=64 --report-interval=10 --max-time=0 --max-requests=0 --rand-type=pareto --oltp-table-size=1000000 --mysql-user=root --test=/home/roel/sysbenchnew/oltp.lua --mysql-socket=/sda/Percona-Server-5.6.21-rel70.0-676-debug.Linux.x86_64/socket.sock --mysql-db=test prepare
4. Put the following line which starts two sysbench runs at the same time (notice the &) in a script named "3"
~/sysbenchnew/sysbench --num-threads=64 --report-interval=10 --max-time=0 --max-requests=0 --rand-type=pareto --oltp-table-size=1000000 --mysql-user=root --test=/home/roel/sysbenchnew/oltp.lua --mysql-socket=/sda/Percona-Server-5.6.21-rel70.0-676-debug.Linux.x86_64/socket.sock --mysql-db=test run &
~/sysbenchnew/sysbench --num-threads=64 --report-interval=10 --max-time=0 --max-requests=0 --rand-type=pareto --oltp-table-size=1000000 --mysql-user=root --test=/home/roel/sysbenchnew/oltp.lua --mysql-socket=/sda/Percona-Server-5.6.21-rel70.0-676-debug.Linux.x86_64/socket.sock --threads=120 --mysql-db=test run &
5. Make a script named 4 and start it;
$ cat sysbenchnew_scripts/4
while(true); do
./3 &
DELAY=$[1 + ( $RANDOM % ( 3600 ) ) ]
sleep $DELAY
kill -9 `pidof sysbench`
done
6. Setup a light monitoring script (maybe not needed, just adding for completeness) and start it (all script in different shells);
$ cat sysbenchnew_scripts/2
while(true); do ./bin/mysql -uroot -S/sda/Percona-Server-5.6.21-rel70.0-676-debug.Linux.x86_64/socket.sock test -e"show global status like 'Innodb_row_lock_current_waits'; show global status like 'questions'; show global status like 'queries'; "; sleep 0.2; done
7. Wait a night orso for the crash to happen.
Testcase setup (in my case it took about a night of runtime to trigger);
1. Attached tar is a recent version of sysbench. Extract in home dir, creates ~/sysbenchnew qa/startup. sh 0; ./start) ${PWD}/ bundle/ libmysqlclient_ r.so.16 ew/sysbench --num-threads=64 --report- interval= 10 --max-time=0 --max-requests=0 --rand-type=pareto --oltp- table-size= 1000000 --mysql-user=root --test= /home/roel/ sysbenchnew/ oltp.lua --mysql- socket= /sda/Percona- Server- 5.6.21- rel70.0- 676-debug. Linux.x86_ 64/socket. sock --mysql-db=test prepare w/sysbench --num-threads=64 --report- interval= 10 --max-time=0 --max-requests=0 --rand-type=pareto --oltp- table-size= 1000000 --mysql-user=root --test= /home/roel/ sysbenchnew/ oltp.lua --mysql- socket= /sda/Percona- Server- 5.6.21- rel70.0- 676-debug. Linux.x86_ 64/socket. sock --mysql-db=test run & w/sysbench --num-threads=64 --report- interval= 10 --max-time=0 --max-requests=0 --rand-type=pareto --oltp- table-size= 1000000 --mysql-user=root --test= /home/roel/ sysbenchnew/ oltp.lua --mysql- socket= /sda/Percona- Server- 5.6.21- rel70.0- 676-debug. Linux.x86_ 64/socket. sock --threads=120 --mysql-db=test run & scripts/ 4 scripts/ 2 Percona- Server- 5.6.21- rel70.0- 676-debug. Linux.x86_ 64/socket. sock test -e"show global status like 'Innodb_ row_lock_ current_ waits'; show global status like 'questions'; show global status like 'queries'; "; sleep 0.2; done
2. Start server (cd basedir; ~/percona-
3. Prep sysbech:
export LD_PRELOAD=
~/sysbenchn
4. Put the following line which starts two sysbench runs at the same time (notice the &) in a script named "3"
~/sysbenchne
~/sysbenchne
5. Make a script named 4 and start it;
$ cat sysbenchnew_
while(true); do
./3 &
DELAY=$[1 + ( $RANDOM % ( 3600 ) ) ]
sleep $DELAY
kill -9 `pidof sysbench`
done
6. Setup a light monitoring script (maybe not needed, just adding for completeness) and start it (all script in different shells);
$ cat sysbenchnew_
while(true); do ./bin/mysql -uroot -S/sda/
7. Wait a night orso for the crash to happen.