STATUS_UNKNOWN_ERROR (2) on empty test db
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Random Query Generator |
New
|
Undecided
|
Unassigned |
Bug Description
Running this cmd line (there are more grammar combinations for which this bug is seen, this is just one example):
perl runall.pl --queries=100000000 --seed=random --threads=1 --duration=300 --mysqld=
Produces this output (reduced to relevant):
=================
[...]
# 2011-09-01T11:28:45 key (`col_float_key` ),
# 2011-09-01T11:28:45 key (`col_char_
# 2011-09-01T11:28:45 key (`col_char_
.
# 2011-09-01T11:28:45 Query: ALTER TABLE `table0_memory` DISABLE KEYS failed: 1146 Table '%s' doesn't exist. Further errors of this kind will be suppressed.
# 2011-09-01T11:28:45 # Creating MySQL table: test.table0_
# 2011-09-01T11:28:45 # Creating MySQL table: test.table0_
# 2011-09-01T11:28:45 # Creating MySQL table: test.table0_
# 2011-09-01T11:28:45 # Creating MySQL table: test.table1_memory; engine: memory; rows: 1 .
# 2011-09-01T11:28:45 # Creating MySQL table: test.table1_
# 2011-09-01T11:28:45 # Creating MySQL table: test.table1_
# 2011-09-01T11:28:45 # Creating MySQL table: test.table1_
# 2011-09-01T11:28:45 # Creating MySQL table: test.table10_
# 2011-09-01T11:28:46 # Creating MySQL table: test.table10_
# 2011-09-01T11:28:46 # Creating MySQL table: test.table10_
# 2011-09-01T11:28:46 # Creating MySQL table: test.table10_
# 2011-09-01T11:28:46 # Creating MySQL table: test.table100_
# 2011-09-01T11:28:49 # Creating MySQL table: test.table100_
# 2011-09-01T11:28:51 # Creating MySQL table: test.table100_
# 2011-09-01T11:28:53 # Creating MySQL table: test.table100_
# 2011-09-01T11:28:56 Loading Generator GenTest:
# 2011-09-01T11:28:56 Caching schema metadata for dbi:mysql:
# 2011-09-01T11:28:59 Reporters: ErrorLog, Backtrace
# 2011-09-01T11:28:59 Validators: ErrorMessageCor
# 2011-09-01T11:28:59 Starting 1 processes, 100000000 queries each, duration 300 seconds.
# 2011-09-01T11:28:59 GenTest:
# 2011-09-01T11:28:59 Loading Validator GenTest:
Schema 'test' has no tables at lib/GenTest/
# 2011-09-01T11:28:59 Started periodic reporting process...
# 2011-09-01T11:29:00 Killing periodic reporting process with pid 18516...
# 2011-09-01T11:29:00 Kill GenTest:
# 2011-09-01T11:29:00 Test completed with failure status STATUS_
# 2011-09-01T11:29:00 gentest.pl exited with exit status STATUS_
2011-09-01T11:29:00 [18104] runall.pl will exit with exit status STATUS_
=================
The 1146 error is not relevant. The error 1163 is. A table was prevented from being created due to a 1163. Further errors are suppressed, so likely all table creations fail with the same error. Result: empty db, which is confirmed by:
"Schema 'test' has no tables at lib/GenTest/
End result: STATUS_
As such, there should be a check for (# of tables > 0) in FromGrammar.pm or earlier (maybe directly after table initialization).
How to best put this in?
Interestingly, seemingly if the 1146 (which did not seem relevant) does not happen, a STATUS_PERL_ERROR is resulting instead.
Additional testcase for STATUS_PERL_ERROR:
perl runall.pl --queries=100000000 --seed=random --threads=1 --duration=300 --querytimeout=10 --engine=MEMORY --mysqld= --max_heap_ table_size= 134217728 --grammar= /randgen/ conf/optimizer/ optimizer_ access_ exp.yy --gendata= /randgen/ conf/replicatio n/WL5092_ data.zz --basedir1= /mysql/ mysql-linux- x86_6 --vardir1= /tmp/test2/
Outcome:
================= 25_default_ null` varchar(25) default null, binary_ not_null` tinytext CHARACTER SET binary not null, memory_ int_autoinc` DISABLE KEYS failed: 1146 Table '%s' doesn't exist. Further errors of this kind will be suppressed. :Generator: :FromGrammar. host=127. 0.0.1:port= 19300:user= root:database= test ruption :ErrorFilter( 26247) started :Validator: :ErrorMessageCo rruption. Generator/ FromGrammar. pm line 259 :ErrorFilter( 26247)
# 2011-09-01T11:56:23 `col_varchar_
# 2011-09-01T11:56:23 `col_tinytext_
# 2011-09-01T11:56:23 /*Indices*/
# 2011-09-01T11:56:23 primary key (pk)) ENGINE=memory failed: 1163 The used table type doesn't support BLOB/TEXT columns. Further errors of this kind will be suppressed.
# 2011-09-01T11:56:23 Query: ALTER TABLE `table300_
# 2011-09-01T11:56:26 Loading Generator GenTest:
# 2011-09-01T11:56:26 Caching schema metadata for dbi:mysql:
# 2011-09-01T11:56:29 Reporters: ErrorLog, Backtrace
# 2011-09-01T11:56:29 Validators: ErrorMessageCor
# 2011-09-01T11:56:29 Starting 1 processes, 100000000 queries each, duration 300 seconds.
# 2011-09-01T11:56:29 GenTest:
# 2011-09-01T11:56:29 Loading Validator GenTest:
Schema 'test' has no tables at lib/GenTest/
# 2011-09-01T11:56:29 Started periodic reporting process...
# 2011-09-01T11:56:30 Killing periodic reporting process with pid 26248...
# 2011-09-01T11:56:30 Kill GenTest:
# 2011-09-01T11:56:30 Test completed with failure status STATUS_PERL_FAILURE (255)
# 2011-09-01T11:56:30 gentest.pl exited with exit status STATUS_PERL_FAILURE (255)
2011-09-01T11:56:30 [25716] runall.pl will exit with exit status STATUS_PERL_FAILURE (255)
=================