[Commits] Rev 3801: MDEV-4897 - Assertion `share->tdc.prev == 0 && share->tdc.next == 0' in lp:maria/10.0

Sergey Vojtovich svoj at mariadb.org
Thu Aug 15 17:15:36 EEST 2013


At lp:maria/10.0

------------------------------------------------------------
revno: 3801
revision-id: svoj at mariadb.org-20130815141532-h0cwje8lhn8ji6da
parent: svoj at mariadb.org-20130815124529-axbuocdgi87823na
committer: Sergey Vojtovich <svoj at mariadb.org>
branch nick: 10.0-test
timestamp: Thu 2013-08-15 18:15:32 +0400
message:
  MDEV-4897 - Assertion `share->tdc.prev == 0 && share->tdc.next == 0'
              failed in TABLE_SHARE* tdc_acquire_share(THD*, const char*,
              const char*, const char*, uint, uint, TABLE**)
  
  Removed false assertions.
  
  When multiple threads acquire the same previously unused share,
  only one thread shall remove share from unused list (the one that
  has was_unused == true). Other threads will ignore this step and
  may continue even if share is not yet removed from unused list.
=== modified file 'sql/table_cache.cc'
--- a/sql/table_cache.cc	2013-08-14 08:48:50 +0000
+++ b/sql/table_cache.cc	2013-08-15 14:15:32 +0000
@@ -847,7 +847,6 @@ TABLE_SHARE *tdc_acquire_share(THD *thd,
     if ((*out_table= tc_acquire_table(thd, share)))
     {
       DBUG_ASSERT(!(flags & GTS_NOLOCK));
-      DBUG_ASSERT(!share->tdc.prev && !share->tdc.next);
       DBUG_ASSERT(!share->error);
       DBUG_ASSERT(!share->is_view);
       DBUG_RETURN(share);
@@ -898,7 +897,6 @@ TABLE_SHARE *tdc_acquire_share(THD *thd,
     } 
     mysql_mutex_unlock(&LOCK_unused_shares);
   }
-  DBUG_ASSERT(share->tdc.prev == 0 && share->tdc.next == 0);
 
 end:
   DBUG_PRINT("exit", ("share: 0x%lx  ref_count: %u",



More information about the commits mailing list