From: Date: October 7 2008 11:48am Subject: bzr commit into mysql-5.1 branch (kpettersson:2730) Bug#38692 List-Archive: http://lists.mysql.com/commits/55555 X-Bug: 38692 Message-Id: <20081007094840.8B5CE5300BC@Adventure> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit #At file:///home/thek/Development/cpp/mysqlbzr/mysql-5.1-bug38692/ 2730 Kristofer Pettersson 2008-10-07 Bug#38692 concurrent inserts cause valgrind errors in Query_cache::invalidate Concurrent inserts produce valgrind error messages. The reason is that the query cache is invalidated after the target table object is closed. Since the delayed insert thread already takes care of invalidating the query cache there is no need to try to synchronize an extra cache invalidation call. The fix is to remove the query_cache_invalidate3 call altogether. modified: sql/sql_insert.cc per-file messages: sql/sql_insert.cc When end_delayed_insert is called, the table_list items will be invalidated by the concurrent insert thread. Further more there is no need to call query_cache_invalidate here since the delayed insert thread takes care of this already. === modified file 'sql/sql_insert.cc' --- a/sql/sql_insert.cc 2008-09-10 14:58:03 +0000 +++ b/sql/sql_insert.cc 2008-10-07 09:48:27 +0000 @@ -830,7 +830,6 @@ bool mysql_insert(THD *thd,TABLE_LIST *t info.copied=values_list.elements; end_delayed_insert(thd); } - query_cache_invalidate3(thd, table_list, 1); } else #endif