Cassandra: Server crashes in calculate_key_len on DELETE with ORDER BY

Description

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #4 <signal handler called> #5 0x0832e0d6 in calculate_key_len (table=0x9817800, key=64, buf=0x97dc0f0 "\001", keypart_map=1) at sql/table.cc:3407 #6 0x08590cc2 in ha_cassandra::index_read_map (this=0x9817f60, buf=0x9818380 "\377", key=0x97dc0f0 "\001", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at storage/cassandra/ha_cassandra.cc:643 #7 0x085917ad in ha_cassandra::rnd_pos (this=0x9817f60, buf=0x9818380 "\377", pos=0x97dc0f0 "\001") at storage/cassandra/ha_cassandra.cc:882 #8 0x082651eb in handler::ha_rnd_pos (this=0x9817f60, buf=0x9818380 "\377", pos=0x97dc0f0 "\001") at sql/sql_class.h:4283 #9 0x0851989b in rr_from_pointers (info=0xacf34714) at sql/records.cc:529 #10 0x0853b984 in mysql_delete (thd=0x970b080, table_list=0x97bb128, conds=0x0, order_list=0x970cc38, limit=1, options=0) at sql/sql_delete.cc:327 #11 0x08278fe7 in mysql_execute_command (thd=0x970b080) at sql/sql_parse.cc:3050 #12 0x08280453 in mysql_parse (thd=0x970b080, rawbuf=0x97bb068 "DELETE FROM t1 ORDER BY a LIMIT 1", length=33, parser_state=0xacf34da4) at sql/sql_parse.cc:5736 #13 0x0827489c in dispatch_command (command=COM_QUERY, thd=0x970b080, packet=0x97b5161 "DELETE FROM t1 ORDER BY a LIMIT 1", packet_length=33) at sql/sql_parse.cc:1055 #14 0x08273d61 in do_command (thd=0x970b080) at sql/sql_parse.cc:794 #15 0x0835fb11 in do_handle_one_connection (thd_arg=0x970b080) at sql/sql_connect.cc:1253 #16 0x0835f65c in handle_one_connection (arg=0x970b080) at sql/sql_connect.cc:1168 #17 0x0858bf70 in pfs_spawn_thread (arg=0x98026d8) at storage/perfschema/pfs.cc:1015 #18 0xb7836b25 in start_thread () from /lib/libpthread.so.0 #19 0xb756c38e in clone () from /lib/libc.so.6
1 2 3 4 revision-id: psergey@askmonty.org-20120821143827-1gfv6fmua0cu29sl date: 2012-08-21 18:38:27 +0400 build-date: 2012-08-22 22:10:39 +0400 revno: 3492

Test case:

1 2 3 4 5 6 7 8 9 # create columnfamily colfam_t1 ( rowkey bigint primary key, a bigint ); DROP TABLE IF EXISTS t1; CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA thrift_host='localhost' keyspace='storage_engine' column_family = 'colfam_t1'; INSERT INTO t1 VALUES (1,1),(2,2); DELETE FROM t1 ORDER BY a LIMIT 1;

Environment

None

Status

Assignee

Sergei Petrunia

Reporter

Elena Stepanova

Labels

None

External issue ID

None

External issue ID

None

Fix versions

Priority

Major
Configure