Comment 30 for bug 1193319

Revision history for this message
Sergei Glushchenko (sergei.glushchenko) wrote :

I can reproduce this by running following script:

for i in {1..30} ; do

 (
 (echo "create table tbl_$i (blb longblob, blb2 longblob, blb3 longblob, blb4 longblob) engine=InnoDB;";
 for j in {1..1000} ; do
  # echo 'insert into tbl values (1,2,3,4);'
  echo "insert into tbl_$i (blb, blb2, blb3, blb4) values (LOAD_FILE('../../std_data/Index.xml'), LOAD_FILE('../../std_data/Index.xml'), LOAD_FILE('../../std_data/Index.xml'), LOAD_FILE('../../std_data/Index.xml'));";
 done) | ../client/mysql -uroot --socket=/Users/sergei/percona/repo/ps-bug1193319/5.6-ps-bug1193319/obj/mysql-test/var/tmp/mysqld.1.sock test ) &
done
wait

It is harder to hit with large log file size, but still possible by increasing the range for $i in the script.
Moving check for log tracking margin to be the last makes bug harder to hit and failures becoming little different.
I see two or more threads in log_open loop fails together like they are doing this synchronously.

After I modified the loop to continue to check margins instead of going to the beginning of the loop, situation seems improved.