Comment 2 for bug 1645386

Revision history for this message
Tomislav Plavcic (tplavcic) wrote :

I can't reproduce the missing data part but I could get a crash with both 5.6 and 5.7 when tokudb_dir_per_db=ON (which is default in 5.7)

Here's my output:
PS 5.7.16:
==========
mysql> show variables like 'tokudb_dir_per_db';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| tokudb_dir_per_db | ON |
+-------------------+-------+
1 row in set (0.00 sec)

mysql> use test;
Database changed

mysql> create table t1 (a int) engine=TokuDB;
Query OK, 0 rows affected (0.29 sec)

mysql> insert into t1 values (1),(2),(3);
Query OK, 3 rows affected (0.09 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> alter table test.t1 rename nema.t1;
ERROR 2013 (HY000): Lost connection to MySQL server during query

Version: '5.7.16-10' socket: '/home/tomislav.plavcic/Percona-Server-5.7.16-10-Linux.x86_64.ssl100/socket.sock' port: 19636 Percona Server (GPL), Release 10, Revision a0c7d0d
/mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/PerconaFT/src/ydb.cc:2917 can_acquire_table_lock: Assertion `r == 0' failed (errno=2) (r=2)

+bt
#0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62
#1 0x0000000000943fad in handle_fatal_signal (sig=6) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/sql/signal_handler.cc:223
#2 <signal handler called>
#3 0x00007f44de067428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#4 0x00007f44de06902a in __GI_abort () at abort.c:89
#5 0x00007f44d28d6578 in toku_do_backtrace_abort() [clone .85905] () at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/PerconaFT/portability/toku_assert.cc:14
7
#6 0x00007f44d291e015 in toku_do_assert_zero_fail (expr=expr@entry=2, expr_as_string=expr_as_string@entry=0x7f44d299ec53 "r", function=function@entry=0x7f44d29c18f0 <_ZZL22can_acquire_table_lockP13__toku_db_envP13__toku_db_txnPKcE
12__FUNCTION__.5611.13650> "can_acquire_table_lock", file=file@entry=0x7f44d29aadb0 "/mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/PerconaFT/src/ydb.cc", line
=line@entry=2917, caller_errno=<optimized out>) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/PerconaFT/portability/toku_assert.cc:177
#7 0x00007f44d297f88a in can_acquire_table_lock (iname_in_env=<optimized out>, txn=0x7f449d8a5200, env=0x0) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/
PerconaFT/src/ydb.cc:2917
#8 env_dbrename(__toku_db_env*, __toku_db_txn*, char const*, char const*, char const*, unsigned int) [clone .part.69.4607] (env=env@entry=0x7f44d3bd8600, txn=txn@entry=0x7f449d8a5200, fname=fname@entry=0x7f449d82e320 "./test/t1-ma
in", dbname=dbname@entry=0x0, newname=0x7f449d82e520 "./nema/t1-main", flags=flags@entry=0) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/PerconaFT/src/ydb
.cc:3138
#9 0x00007f44d29403a7 in env_dbrename (flags=<optimized out>, newname=<optimized out>, dbname=0x0, fname=0x7f449d82e320 "./test/t1-main", txn=0x7f449d8a5200, env=0x7f44d3bd8600) at /mnt/workspace/percona-server-5.7-binaries-releas
e/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/PerconaFT/src/ydb-internal.h:269
#10 locked_env_dbrename(__toku_db_env*, __toku_db_txn*, char const*, char const*, char const*, unsigned int) [clone .part.70] (flags=<optimized out>, newname=<optimized out>, dbname=0x0, fname=0x7f449d82e320 "./test/t1-main", txn=<
optimized out>, env=0x7f44d3bd8600) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/PerconaFT/src/ydb.cc:1366
#11 locked_env_dbrename(__toku_db_env*, __toku_db_txn*, char const*, char const*, char const*, unsigned int) [clone .4641] (env=0x7f44d3bd8600, txn=<optimized out>, fname=0x7f449d82e320 "./test/t1-main", dbname=0x0, newname=<optimi
zed out>, flags=<optimized out>) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/PerconaFT/src/ydb.cc:1352
#12 0x00007f44d28a8f57 in ha_tokudb::delete_or_rename_dictionary (this=this@entry=0x7f449d87f030, from_name=from_name@entry=0x7f44e059d2c0 "./test/t1", to_name=to_name@entry=0x7f44e059d4d0 "./nema/t1", secondary_name=secondary_name
@entry=0x7f44d29bc0e7 "main", is_key=is_key@entry=false, txn=0x7f449d8a5300, is_delete=is_delete@entry=false) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb
/ha_tokudb.cc:7576
#13 0x00007f44d28aa470 in ha_tokudb::delete_or_rename_table (this=this@entry=0x7f449d87f030, from_name=from_name@entry=0x7f44e059d2c0 "./test/t1", to_name=to_name@entry=0x7f44e059d4d0 "./nema/t1", is_delete=is_delete@entry=false) a
t /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/tokudb/ha_tokudb.cc:7646
#14 0x00007f44d28ac1eb in ha_tokudb::rename_table (this=0x7f449d87f030, from=0x7f44e059d2c0 "./test/t1", to=0x7f44e059d4d0 "./nema/t1") at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-serve
r-5.7.16-10/storage/tokudb/ha_tokudb.cc:7741
#15 0x0000000000e57b69 in mysql_rename_table (base=base@entry=0x7f44c67aade0, old_db=0x7f449d8289a0 "test", old_name=0x7f449d8289a8 "t1", new_db=0x7f449d828f60 "nema", new_name=0x7f449d828f68 "t1", flags=flags@entry=0) at /mnt/work
space/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/sql/sql_table.cc:5769
#16 0x000000000090d15d in simple_rename_or_index_change (thd=thd@entry=0x7f449d816000, table_list=0x7f449d8289e0, keys_onoff=<optimized out>, alter_ctx=alter_ctx@entry=0x7f44e059f500) at /mnt/workspace/percona-server-5.7-binaries-r
elease/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/sql/sql_table.cc:8985
#17 0x0000000000e5a7a2 in mysql_alter_table (thd=thd@entry=0x7f449d816000, new_db=<optimized out>, new_name=0x7f449d828f68 "t1", create_info=create_info@entry=0x7f44e05a00d0, table_list=table_list@entry=0x7f449d8289e0, alter_info=a
lter_info@entry=0x7f44e05a0000) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/sql/sql_table.cc:9538
#18 0x0000000000f3bae8 in Sql_cmd_alter_table::execute (this=<optimized out>, thd=0x7f449d816000) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/sql/sql_alter.cc:320
#19 0x0000000000df6814 in mysql_execute_command (thd=thd@entry=0x7f449d816000, first_level=first_level@entry=true) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/sql/sql_p
arse.cc:5065
#20 0x0000000000dfa2d5 in mysql_parse (thd=thd@entry=0x7f449d816000, parser_state=parser_state@entry=0x7f44e05a1710) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/sql/sql
_parse.cc:5838
#21 0x0000000000dfb551 in dispatch_command (thd=thd@entry=0x7f449d816000, com_data=com_data@entry=0x7f44e05a1db0, command=COM_QUERY) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5
.7.16-10/sql/sql_parse.cc:1447
#22 0x0000000000dfbccd in do_command (thd=thd@entry=0x7f449d816000) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/sql/sql_parse.cc:1010
#23 0x0000000000eb26e4 in handle_connection (arg=arg@entry=0x7f44c679df70) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/sql/conn_handler/connection_handler_per_thread.cc
:312
#24 0x000000000133b194 in pfs_spawn_thread (arg=0x7f44d57ab120) at /mnt/workspace/percona-server-5.7-binaries-release/label_exp/debian-wheezy-x64/percona-server-5.7.16-10/storage/perfschema/pfs.cc:2188
#25 0x00007f44dffbb70a in start_thread (arg=0x7f44e05a2700) at pthread_create.c:333
#26 0x00007f44de13882d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

restart and reconnect:
mysql> select * from test.t1;
+------+
| a |
+------+
| 1 |
| 2 |
| 3 |
+------+
3 rows in set (0.00 sec)

PS 5.6.34:
==========
mysql> show variables like 'tokudb_dir_per_db';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| tokudb_dir_per_db | OFF |
+-------------------+-------+
1 row in set (0.01 sec)

mysql> use test;
Database changed

mysql> create table t1 (a int) engine=TokuDB;
Query OK, 0 rows affected (0.34 sec)

mysql> insert into t1 values (1),(2),(3);
Query OK, 3 rows affected (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> alter table test.t1 rename nema.t1;
ERROR 7 (HY000): Error on rename of './test/t1.frm' to './nema/t1.frm' (Errcode: 2 - No such file or directory)

mysql> select * from t1;
+------+
| a |
+------+
| 1 |
| 2 |
| 3 |
+------+
3 rows in set (0.00 sec)

mysql> show variables like '%version%';
| tokudb_version | 5.6.34-79.1