3900 Christopher Powers 2012-05-22
Bug#13915235 - THREAD_POOL.THREAD_POOL_KILL_INNODB.TEST FAILS - ASSERT IN PFS.CC ON TRUNK
The thread pool processes KILL commands by circumventing the typical thread_attach/detach
sequence, causing a discrepancy in the thread contexts that the Performance Schema uses to
track table locking.
The more robust solution is to remove the assertion in the Performance Schema rather than
modify the thread pool code,
modified:
storage/perfschema/pfs.cc
3899 Christopher Powers 2012-05-22 [merge]
local merge from mysql-trunk
added:
sql/abstract_query_plan.cc
sql/abstract_query_plan.h
modified:
mysql-test/collections/default.experimental
sql/CMakeLists.txt
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.h
sql/handler.cc
sql/handler.h
sql/opt_explain.cc
sql/opt_explain_format.h
sql/opt_explain_json.cc
sql/opt_explain_traditional.cc
sql/sql_executor.cc
sql/sql_optimizer.cc
sql/sql_select.cc
storage/innobase/include/sync0rw.h
storage/innobase/include/sync0rw.ic
=== modified file 'storage/perfschema/pfs.cc'
--- a/storage/perfschema/pfs.cc 2012-05-15 09:39:47 +0000
+++ b/storage/perfschema/pfs.cc 2012-05-22 17:44:21 +0000
@@ -2612,9 +2612,6 @@ start_table_lock_wait_v1(PSI_table_locke
PFS_thread *pfs_thread= pfs_table->m_thread_owner;
- DBUG_ASSERT(pfs_thread ==
- my_pthread_getspecific_ptr(PFS_thread*, THR_PFS));
-
PFS_TL_LOCK_TYPE lock_type;
switch (op)
@@ -3016,14 +3013,6 @@ start_socket_wait_v1(PSI_socket_locker_s
if (unlikely(pfs_thread == NULL))
return NULL;
-#ifdef LATER
- /*
- Needs refinement, because of KILL.
- */
- DBUG_ASSERT(pfs_thread ==
- my_pthread_getspecific_ptr(PFS_thread*, THR_PFS));
-#endif
-
if (!pfs_thread->m_enabled)
return NULL;
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (chris.powers:3899 to 3900) Bug#13915235 | Christopher Powers | 9 Jun |