#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
| Thread |
|---|
| • bzr commit into mysql-5.1 branch (kpettersson:2730) Bug#38692 | Kristofer Pettersson | 7 Oct |