← Back to team overview

randgen team mailing list archive

[Bug 838473] [NEW] STATUS_UNKNOWN_ERROR (2) on empty test db

 

Public bug reported:

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=--log-output=none --engine=MEMORY
--mysqld=--max_heap_table_size=134217728
--grammar=/randgen/conf/optimizer/optimizer_no_subquery_portable.yy
--gendata=/randgen/conf/replication/replication-6.0.zz --basedir1=/mysql
/mysql-linux-x86_64 --vardir1=/tmp/test1

Produces this output (reduced to relevant):

=================
[...]
# 2011-09-01T11:28:45 key (`col_float_key` ),
# 2011-09-01T11:28:45 key (`col_char_latin1_key` ),
# 2011-09-01T11:28:45 key (`col_char_utf8_key` )) 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: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_memory_int_autoinc; engine: memory; rows: 0 .
# 2011-09-01T11:28:45 # Creating MySQL table: test.table0_memory_key_pk_parts_2; engine: memory; rows: 0 .
# 2011-09-01T11:28:45 # Creating MySQL table: test.table0_memory_key_pk_parts_2_int_autoinc; engine: memory; rows: 0 .
# 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_memory_int_autoinc; engine: memory; rows: 1 .
# 2011-09-01T11:28:45 # Creating MySQL table: test.table1_memory_key_pk_parts_2; engine: memory; rows: 1 .
# 2011-09-01T11:28:45 # Creating MySQL table: test.table1_memory_key_pk_parts_2_int_autoinc; engine: memory; rows: 1 .
# 2011-09-01T11:28:45 # Creating MySQL table: test.table10_memory; engine: memory; rows: 10 .
# 2011-09-01T11:28:46 # Creating MySQL table: test.table10_memory_int_autoinc; engine: memory; rows: 10 .
# 2011-09-01T11:28:46 # Creating MySQL table: test.table10_memory_key_pk_parts_2; engine: memory; rows: 10 .
# 2011-09-01T11:28:46 # Creating MySQL table: test.table10_memory_key_pk_parts_2_int_autoinc; engine: memory; rows: 10 .
# 2011-09-01T11:28:46 # Creating MySQL table: test.table100_memory; engine: memory; rows: 100 .
# 2011-09-01T11:28:49 # Creating MySQL table: test.table100_memory_int_autoinc; engine: memory; rows: 100 .
# 2011-09-01T11:28:51 # Creating MySQL table: test.table100_memory_key_pk_parts_2; engine: memory; rows: 100 .
# 2011-09-01T11:28:53 # Creating MySQL table: test.table100_memory_key_pk_parts_2_int_autoinc; engine: memory; rows: 100 .
# 2011-09-01T11:28:56 Loading Generator GenTest::Generator::FromGrammar.
# 2011-09-01T11:28:56 Caching schema metadata for dbi:mysql:host=127.0.0.1:port=19300:user=root:database=test
# 2011-09-01T11:28:59 Reporters: ErrorLog, Backtrace
# 2011-09-01T11:28:59 Validators: ErrorMessageCorruption
# 2011-09-01T11:28:59 Starting 1 processes, 100000000 queries each, duration 300 seconds.
# 2011-09-01T11:28:59 GenTest::ErrorFilter(18515) started
# 2011-09-01T11:28:59 Loading Validator GenTest::Validator::ErrorMessageCorruption.
Schema 'test' has no tables at lib/GenTest/Generator/FromGrammar.pm line 275
# 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::ErrorFilter(18515)
# 2011-09-01T11:29:00 Test completed with failure status STATUS_UNKNOWN_ERROR (2)
# 2011-09-01T11:29:00 gentest.pl exited with exit status STATUS_UNKNOWN_ERROR (2)
2011-09-01T11:29:00 [18104] runall.pl will exit with exit status STATUS_UNKNOWN_ERROR (2)
=================

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/Generator/FromGrammar.pm
line 275"

End result: STATUS_UNKNOWN_ERROR (2)

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?

** Affects: randgen
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Random
Query Generator Team, which is subscribed to Random Query Generator.
https://bugs.launchpad.net/bugs/838473

Title:
  STATUS_UNKNOWN_ERROR (2) on empty test db

Status in SQL Generator for testing SQL servers (MySQL, JavaDB, PostgreSQL):
  New

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=--log-output=none --engine=MEMORY
  --mysqld=--max_heap_table_size=134217728
  --grammar=/randgen/conf/optimizer/optimizer_no_subquery_portable.yy
  --gendata=/randgen/conf/replication/replication-6.0.zz
  --basedir1=/mysql/mysql-linux-x86_64 --vardir1=/tmp/test1

  Produces this output (reduced to relevant):

  =================
  [...]
  # 2011-09-01T11:28:45 key (`col_float_key` ),
  # 2011-09-01T11:28:45 key (`col_char_latin1_key` ),
  # 2011-09-01T11:28:45 key (`col_char_utf8_key` )) 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: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_memory_int_autoinc; engine: memory; rows: 0 .
  # 2011-09-01T11:28:45 # Creating MySQL table: test.table0_memory_key_pk_parts_2; engine: memory; rows: 0 .
  # 2011-09-01T11:28:45 # Creating MySQL table: test.table0_memory_key_pk_parts_2_int_autoinc; engine: memory; rows: 0 .
  # 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_memory_int_autoinc; engine: memory; rows: 1 .
  # 2011-09-01T11:28:45 # Creating MySQL table: test.table1_memory_key_pk_parts_2; engine: memory; rows: 1 .
  # 2011-09-01T11:28:45 # Creating MySQL table: test.table1_memory_key_pk_parts_2_int_autoinc; engine: memory; rows: 1 .
  # 2011-09-01T11:28:45 # Creating MySQL table: test.table10_memory; engine: memory; rows: 10 .
  # 2011-09-01T11:28:46 # Creating MySQL table: test.table10_memory_int_autoinc; engine: memory; rows: 10 .
  # 2011-09-01T11:28:46 # Creating MySQL table: test.table10_memory_key_pk_parts_2; engine: memory; rows: 10 .
  # 2011-09-01T11:28:46 # Creating MySQL table: test.table10_memory_key_pk_parts_2_int_autoinc; engine: memory; rows: 10 .
  # 2011-09-01T11:28:46 # Creating MySQL table: test.table100_memory; engine: memory; rows: 100 .
  # 2011-09-01T11:28:49 # Creating MySQL table: test.table100_memory_int_autoinc; engine: memory; rows: 100 .
  # 2011-09-01T11:28:51 # Creating MySQL table: test.table100_memory_key_pk_parts_2; engine: memory; rows: 100 .
  # 2011-09-01T11:28:53 # Creating MySQL table: test.table100_memory_key_pk_parts_2_int_autoinc; engine: memory; rows: 100 .
  # 2011-09-01T11:28:56 Loading Generator GenTest::Generator::FromGrammar.
  # 2011-09-01T11:28:56 Caching schema metadata for dbi:mysql:host=127.0.0.1:port=19300:user=root:database=test
  # 2011-09-01T11:28:59 Reporters: ErrorLog, Backtrace
  # 2011-09-01T11:28:59 Validators: ErrorMessageCorruption
  # 2011-09-01T11:28:59 Starting 1 processes, 100000000 queries each, duration 300 seconds.
  # 2011-09-01T11:28:59 GenTest::ErrorFilter(18515) started
  # 2011-09-01T11:28:59 Loading Validator GenTest::Validator::ErrorMessageCorruption.
  Schema 'test' has no tables at lib/GenTest/Generator/FromGrammar.pm line 275
  # 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::ErrorFilter(18515)
  # 2011-09-01T11:29:00 Test completed with failure status STATUS_UNKNOWN_ERROR (2)
  # 2011-09-01T11:29:00 gentest.pl exited with exit status STATUS_UNKNOWN_ERROR (2)
  2011-09-01T11:29:00 [18104] runall.pl will exit with exit status STATUS_UNKNOWN_ERROR (2)
  =================

  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/Generator/FromGrammar.pm
  line 275"

  End result: STATUS_UNKNOWN_ERROR (2)

  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?

To manage notifications about this bug go to:
https://bugs.launchpad.net/randgen/+bug/838473/+subscriptions


Follow ups

References