List:Commits« Previous MessageNext Message »
From:Kristofer Pettersson Date:October 7 2008 9:48am
Subject:bzr commit into mysql-5.1 branch (kpettersson:2730) Bug#38692
View as plain text  
#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#38692Kristofer Pettersson7 Oct