linux-traipu team mailing list archive
-
linux-traipu team
-
Mailing list archive
-
Message #09197
[Bug 535528] Re: transaction started in ::store_lock() and not by startStatement/Transaction
** Changed in: drizzle/7.0
Status: Triaged => Won't Fix
--
You received this bug notification because you are a member of UBUNTU -
AL - BR, which is subscribed to Drizzle.
https://bugs.launchpad.net/bugs/535528
Title:
transaction started in ::store_lock() and not by
startStatement/Transaction
Status in A Lightweight SQL Database for Cloud Infrastructure and Web Applications:
Triaged
Status in Drizzle 7.0 series:
Won't Fix
Status in Drizzle cherry series:
Fix Released
Bug description:
For the following sequence:
create table t1 (a int, b int not null, c int null, d int not null);
show create table t1;
insert into t1 values (0,0, 0, 0);
when HTON_SKIP_STORE_LOCK is set for the engine and with autocommit
on, we get no call to startTransaction or startStatement.
If HTON_SKIP_STORE_LOCK is *NOT* set, then (at least) innobase sets up
the transaction (check_trx_exists()) in ::store_lock call in the
mysql_lock_tables (for mysql_insert()).
backtrace:
#0 check_trx_exists (session=0xa21f00)
at plugin/innobase/handler/ha_innodb.cc:1423
#1 0x00007ffff496f8b9 in ha_innobase::store_lock (this=0x1230968,
session=0xa21f00, to=0x1231d98,
lock_type=drizzled::TL_WRITE_CONCURRENT_INSERT)
at plugin/innobase/handler/ha_innodb.cc:7500
#2 0x00000000004d3064 in get_lock_data (session=0xa21f00,
table_ptr=0x1224bc8, count=1, should_lock=true,
write_lock_used=0x7fffe4ddfab8) at drizzled/lock.cc:626
#3 0x00000000004d20e7 in drizzled::mysql_lock_tables (session=0xa21f00,
tables=0x1224bc8, count=1, flags=4, need_reopen=0x7fffe4ddfb7f)
at drizzled/lock.cc:189
#4 0x0000000000551e98 in drizzled::Session::lock_tables (this=0xa21f00,
tables=0x1224818, count=1, need_reopen=0x7fffe4ddfb7f)
at drizzled/sql_base.cc:2196
#5 0x000000000053d9e8 in drizzled::Session::openTablesLock (this=0xa21f00,
tables=0x1224818) at drizzled/session.cc:2016
#6 0x000000000055b77d in drizzled::mysql_insert (session=0xa21f00,
table_list=0x1224818, fields=..., values_list=..., update_fields=...,
update_values=..., duplic=drizzled::DUP_ERROR, ignore=false)
at drizzled/sql_insert.cc:250
interestingly enough though... we do seem to get a commit():
#0 innobase_commit_low (trx=0x1230e00)
at plugin/innobase/handler/ha_innodb.cc:2050
#1 0x00007ffff4966e9e in InnobaseEngine::doCommit (this=0xa36010,
session=0xa21f00, all=false) at plugin/innobase/handler/ha_innodb.cc:2175
#2 0x00000000005da7a4 in drizzled::plugin::TransactionalStorageEngine::commit
(this=0xa36010, session=0xa21f00, normal_transaction=false)
at ./drizzled/plugin/transactional_storage_engine.h:84
#3 0x00000000005d9499 in drizzled::TransactionServices::ha_commit_one_phase (
this=0x9de6d8, session=0xa21f00, normal_transaction=false)
at drizzled/transaction_services.cc:594
#4 0x00000000005d937d in drizzled::TransactionServices::ha_commit_trans (
this=0x9de6d8, session=0xa21f00, normal_transaction=false)
at drizzled/transaction_services.cc:564
#5 0x00000000005d989a in drizzled::TransactionServices::ha_autocommit_or_rollback (this=0x9de6d8, session=0xa21f00, error=0)
at drizzled/transaction_services.cc:715
#6 0x000000000056b5c6 in drizzled::dispatch_command (
command=drizzled::COM_QUERY, session=0xa21f00,
packet=0x1226841 "insert into t1 values (0,0, 0, 0)", packet_length=33)
at drizzled/sql_parse.cc:246
To manage notifications about this bug go to:
https://bugs.launchpad.net/drizzle/+bug/535528/+subscriptions