Commit 85ca9837 authored by Kristofer Pettersson's avatar Kristofer Pettersson

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.

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.
parent a8b25524
......@@ -830,7 +830,6 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list,
info.copied=values_list.elements;
end_delayed_insert(thd);
}
query_cache_invalidate3(thd, table_list, 1);
}
else
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment