Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Cannot Reproduce
-
10.3(EOL)
-
None
Description
--source include/have_innodb.inc
|
CREATE SEQUENCE a ENGINE=InnoDB ; |
CREATE TEMPORARY SEQUENCE b ENGINE=InnoDB; |
ALTER SEQUENCE IF EXISTS a RESTART WITH 0; |
10.3 86b941703 |
mysqld: /data/src/10.3/storage/innobase/row/row0undo.cc:196: bool row_undo_search_clust_to_pcur(undo_node_t*): Assertion `row_get_rec_trx_id(rec, clust_index, offsets) == node->trx->id' failed.
|
170607 10:32:53 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f0e5573aee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
|
#8 0x00005605799f323a in row_undo_search_clust_to_pcur (node=0x7f0dfc036c38) at /data/src/10.3/storage/innobase/row/row0undo.cc:195
|
#9 0x0000560579be29b3 in row_undo_ins_parse_undo_rec (node=0x7f0dfc036c38, dict_locked=0) at /data/src/10.3/storage/innobase/row/row0uins.cc:372
|
#10 0x0000560579be2d23 in row_undo_ins (node=0x7f0dfc036c38, thr=0x7f0dfc036a80) at /data/src/10.3/storage/innobase/row/row0uins.cc:474
|
#11 0x00005605799f3638 in row_undo (node=0x7f0dfc036c38, thr=0x7f0dfc036a80) at /data/src/10.3/storage/innobase/row/row0undo.cc:296
|
#12 0x00005605799f3785 in row_undo_step (thr=0x7f0dfc036a80) at /data/src/10.3/storage/innobase/row/row0undo.cc:342
|
#13 0x0000560579952a0b in que_thr_step (thr=0x7f0dfc036a80) at /data/src/10.3/storage/innobase/que/que0que.cc:1051
|
#14 0x0000560579952c25 in que_run_threads_low (thr=0x7f0dfc036a80) at /data/src/10.3/storage/innobase/que/que0que.cc:1115
|
#15 0x0000560579952dce in que_run_threads (thr=0x7f0dfc036a80) at /data/src/10.3/storage/innobase/que/que0que.cc:1155
|
#16 0x0000560579a54abe in trx_rollback_to_savepoint_low (trx=0x7f0e4b3fe8c8, savept=0x0) at /data/src/10.3/storage/innobase/trx/trx0roll.cc:118
|
#17 0x0000560579a54e28 in trx_rollback_for_mysql_low (trx=0x7f0e4b3fe8c8) at /data/src/10.3/storage/innobase/trx/trx0roll.cc:180
|
#18 0x0000560579a55112 in trx_rollback_low (trx=0x7f0e4b3fe8c8) at /data/src/10.3/storage/innobase/trx/trx0roll.cc:212
|
#19 0x0000560579a55449 in trx_rollback_for_mysql (trx=0x7f0e4b3fe8c8) at /data/src/10.3/storage/innobase/trx/trx0roll.cc:288
|
#20 0x000056057985d77b in innobase_rollback (hton=0x56057b9b4a00, thd=0x7f0dfc000b00, rollback_trx=false) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:4816
|
#21 0x00005605795532ae in ha_rollback_trans (thd=0x7f0dfc000b00, all=false) at /data/src/10.3/sql/handler.cc:1662
|
#22 0x00005605793ff43c in trans_rollback_stmt (thd=0x7f0dfc000b00) at /data/src/10.3/sql/transaction.cc:566
|
#23 0x00005605792ab048 in mysql_execute_command (thd=0x7f0dfc000b00) at /data/src/10.3/sql/sql_parse.cc:6275
|
#24 0x00005605792af860 in mysql_parse (thd=0x7f0dfc000b00, rawbuf=0x7f0dfc0148c8 "ALTER SEQUENCE IF EXISTS a RESTART WITH 0", length=41, parser_state=0x7f0e48345200, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7927
|
#25 0x000056057929d518 in dispatch_command (command=COM_QUERY, thd=0x7f0dfc000b00, packet=0x7f0dfc08f811 "ALTER SEQUENCE IF EXISTS a RESTART WITH 0", packet_length=41, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1817
|
#26 0x000056057929bec1 in do_command (thd=0x7f0dfc000b00) at /data/src/10.3/sql/sql_parse.cc:1380
|
#27 0x00005605793e93f4 in do_handle_one_connection (connect=0x56057bfc1a60) at /data/src/10.3/sql/sql_connect.cc:1354
|
#28 0x00005605793e9181 in handle_one_connection (arg=0x56057bfc1a60) at /data/src/10.3/sql/sql_connect.cc:1260
|
#29 0x0000560579845a8d in pfs_spawn_thread (arg=0x56057bf086f0) at /data/src/10.3/storage/perfschema/pfs.cc:1862
|
#30 0x00007f0e57474494 in start_thread (arg=0x7f0e48346700) at pthread_create.c:333
|
#31 0x00007f0e557f793f in clone () from /lib/x86_64-linux-gnu/libc.so.6
|
Also reproducible on bb-10.2-ext 3d428e017d.
Attachments
Issue Links
- relates to
-
MDEV-13016 Testing SEQUENCE object phase 2
-
- Closed
-
elenst, apparently this has been changed in the SQL layer. I currently get this:
mysqltest: At line 4: query 'ALTER SEQUENCE IF EXISTS a RESTART WITH 0' failed: 4085: Sequence 'test.a' values are conflicting
For what it is worth, ALTER SEQUENCE should always use the ALGORITHM=COPY path (similar to CREATE SEQUENCE, I assume).
The crash on rollback should have been fixed very early (maybe already in 10.3.1, and for sure by 10.3.2). There were some bugs that InnoDB was writing undo log for inserting the sequence state record. It is not supposed to do that; there specifically is no undo logging.