List:Commits« Previous MessageNext Message »
From:Inaam Rana Date:August 20 2010 4:41pm
Subject:bzr push into mysql-5.5-innodb branch (inaam.rana:3168 to 3169)
View as plain text  
 3169 Inaam Rana	2010-08-20
      When flushing from LRU we try to keep a certain number of pages over
      and above the general requirement free. We call them
      BUF_FLUSH_EXTRA_MARGIN. With multiple buffer pools we may end up keeping
      this amount of pages for each buffer pool. This patch, diagnosed and fixed
      by Michael, throttles flushing in such cases.
      
      rb://435
      bug#54346

    modified:
      storage/innobase/include/buf0flu.h
 3168 Marko Mäkelä	2010-08-19
      Bug#56114 Disallow trx->dict_operation_lock_mode==RW_X_LATCH in srv_suspend_mysql_thread()
      
      Issue an error message to the error log when
      trx->dict_operation_lock_mode == RW_X_LATCH in
      srv_suspend_mysql_thread(). Transactions that modify InnoDB
      data dictionary tables must be free of lock waits, because they
      must be holding the data dictionary latch in exclusive mode.
      The transactions must not be accessing any other tables other than
      the data dictionary tables.
      
      The handling of RW_X_LATCH was accidentally added in the InnoDB Plugin,
      as a wrong fix of an assertion failure. (Fast index creation was accessing
      both data dictionary tables and user tables in the same transaction.)

    modified:
      storage/innobase/srv/srv0srv.c
=== modified file 'storage/innobase/include/buf0flu.h'
--- a/storage/innobase/include/buf0flu.h	revid:marko.makela@stripped
+++ b/storage/innobase/include/buf0flu.h	revid:inaam.rana@stripped20100820163904-vdwn6uflh3ymvwau
@@ -228,8 +228,8 @@ make sure that a read-ahead batch can be
 sweep). */
 #define BUF_FLUSH_FREE_BLOCK_MARGIN(b)	(5 + BUF_READ_AHEAD_AREA(b))
 /** Extra margin to apply above BUF_FLUSH_FREE_BLOCK_MARGIN */
-#define BUF_FLUSH_EXTRA_MARGIN(b)	(BUF_FLUSH_FREE_BLOCK_MARGIN(b) / 4 \
-					+ 100)
+#define BUF_FLUSH_EXTRA_MARGIN(b)	((BUF_FLUSH_FREE_BLOCK_MARGIN(b) / 4 \
+					+ 100) / srv_buf_pool_instances)
 #endif /* !UNIV_HOTBACKUP */
 
 #ifndef UNIV_NONINL

Attachment: [text/bzr-bundle] bzr/inaam.rana@oracle.com-20100820163904-vdwn6uflh3ymvwau.bundle
Thread
bzr push into mysql-5.5-innodb branch (inaam.rana:3168 to 3169) Inaam Rana20 Aug