Description:
When executing a random RQG workload, Falcon asserted with the following assert under numerous different workloads
#7 0x00000000009e775b in Error::assertionFailed (text=0xe42daf "ret", fileName=0xe41cc1 "Table.cpp", line=3062) at Error.cpp:78
#8 0x00000000009972cd in Table::insert (this=0x7f11b75bdd18, transaction=0x7f118cdf8d18, stream=0x7f119fb0bd00) at Table.cpp:3062
#9 0x000000000097b209 in StorageDatabase::insert (this=0x7f11b71f2208, connection=0x7f11b7252388, table=0x7f11b75bdd18, stream=0x7f119fb0bd00)
at StorageDatabase.cpp:266
#10 0x000000000098249f in StorageTable::insert (this=0x7f119fb06760) at StorageTable.cpp:109
#11 0x0000000000974461 in StorageInterface::write_row (this=0x3bc89b0, buff=0x3bc8da0 "ЪЪЪ") at ha_falcon.cpp:1176
#12 0x00000000008167e1 in handler::ha_write_row (this=0x3bc89b0, buf=0x3bc8da0 "ЪЪЪ") at handler.cc:5500
#13 0x000000000082530f in ha_partition::write_row (this=0x7f11b0011ea0, buf=0x3bc8da0 "ЪЪЪ") at ha_partition.cc:3027
#14 0x00000000008167e1 in handler::ha_write_row (this=0x7f11b0011ea0, buf=0x3bc8da0 "ЪЪЪ") at handler.cc:5500
#15 0x000000000077d8e3 in write_record (thd=0x3b18408, table=0x7f11b0011558, info=0x7f1190ceb4e0) at sql_insert.cc:1383
#16 0x0000000000781e73 in mysql_insert (thd=0x3b18408, table_list=0x7f11b0004d80, fields=@0x3b1a6a0, values_list=@0x3b1a6e8, update_fields=@0x3b1a6d0,
update_values=@0x3b1a6b8, duplic=DUP_REPLACE, ignore=false) at sql_insert.cc:836
#17 0x00000000006d77cb in mysql_execute_command (thd=0x3b18408) at sql_parse.cc:3122
#18 0x00000000006dcedd in mysql_parse (thd=0x3b18408,
inBuf=0x7f11b0004b10 "REPLACE INTO `table10_falcon_key_pk_parts_2_int_autoinc` ( `enum_utf8_not_null_key` ) VALUES ( 'or' )", length=101,
found_semicolon=0x7f1190cecf00) at sql_parse.cc:5752
#19 0x00000000006ddac8 in dispatch_command (command=COM_QUERY, thd=0x3b18408,
packet=0x3b28209 "REPLACE INTO `table10_falcon_key_pk_parts_2_int_autoinc` ( `enum_utf8_not_null_key` ) VALUES ( 'or' )", packet_length=101)
at sql_parse.cc:1009
#20 0x00000000006deff1 in do_command (thd=0x3b18408) at sql_parse.cc:691
#21 0x00000000006ccf71 in handle_one_connection (arg=0x3b18408) at sql_connect.cc:1146
#22 0x000000315b0073da in start_thread () from /lib64/libpthread.so.0
#23 0x000000315a4e627d in clone () from /lib64/libc.so.6
(gdb) list
3057
3058 transaction->addRecord(record);
3059 bool ret = insertIntoTree(record, NULL, recordNumber);
3060 inserted = true;
3061 insertIndexes(transaction, record);
3062 ASSERT(ret);
3063 record->state = recData;
3064 record->release(REC_HISTORY);
3065 }
3066 catch (...)
(gdb) print ret
$1 = false
(gdb) print record
$2 = (class RecordVersion *) 0x4231af8
(gdb) print recordNumber
$3 = 19880
How to repeat:
A test case will be provided shortly.