[Commits] Rev 3445: MDEV-3861: Assertion in TC_LOG_MMAP. in http://bazaar.launchpad.net/~maria-captains/maria/10.0

knielsen at knielsen-hq.org knielsen at knielsen-hq.org
Tue Nov 20 15:20:26 EET 2012


At http://bazaar.launchpad.net/~maria-captains/maria/10.0

------------------------------------------------------------
revno: 3445
revision-id: knielsen at knielsen-hq.org-20121120132026-gcg2ht23pzm8tnd0
parent: psergey at askmonty.org-20121011030144-ddej9ug9vql7tgsw
committer: knielsen at knielsen-hq.org
branch nick: mariadb-10.0-base
timestamp: Tue 2012-11-20 14:20:26 +0100
message:
  MDEV-3861: Assertion in TC_LOG_MMAP.
  
  Root cause was that number of entries in commit checkpoint buffer
  was bigger than total available entries in the mmap()'ed score
  file. This causes TC_LOG_MMAP to run out of entries before even
  the first checkpoint is started, which causes a hang.
  
  Fixed by making sure we have fewer entries within one commit
  checkpoint than total available scorefile entries.
  
  Another part of this bug was discovery of severel unrelated bugs
  in TC_LOG_MMAP dating back to 5.1. These were fixed in 5.1 and
  will be merged up (the problem this patch fixes exists only in
  10.0).
=== modified file 'sql/log.h'
--- a/sql/log.h	2012-09-30 23:30:44 +0000
+++ b/sql/log.h	2012-11-20 13:20:26 +0000
@@ -118,7 +118,7 @@ class TC_LOG_MMAP: public TC_LOG
   struct pending_cookies {
     uint count;
     uint pending_count;
-    ulong cookies[TC_LOG_PAGE_SIZE];
+    ulong cookies[TC_LOG_PAGE_SIZE/sizeof(my_xid)];
   };
 
   private:



More information about the commits mailing list