3204 Inaam Rana 2010-10-26
Fix compiler warning introduced by previous commit.
modified:
storage/innobase/include/trx0undo.h
storage/innobase/trx/trx0trx.c
storage/innobase/trx/trx0undo.c
3203 Inaam Rana 2010-10-26
Bug #57611 ibdata file and continuous growing undo logs
rb://498
Fix handling of update_undo_logs at trx commit. Previously, when
rseg->update_undo_list grows beyond 500 the update_undo_logs were
marked with state TRX_UNDO_TO_FREE which should have been
TRX_UNDO_TO_PURGE.
In 5.5 we don't need the heuristic as we support multiple rollback
segments.
Approved by: Sunny Bains
modified:
storage/innobase/trx/trx0undo.c
=== modified file 'storage/innobase/include/trx0undo.h'
--- a/storage/innobase/include/trx0undo.h revid:inaam.rana@stripped
+++ b/storage/innobase/include/trx0undo.h revid:inaam.rana@stripped
@@ -262,8 +262,6 @@ UNIV_INTERN
page_t*
trx_undo_set_state_at_finish(
/*=========================*/
- trx_rseg_t* rseg, /*!< in: rollback segment memory object */
- trx_t* trx, /*!< in: transaction */
trx_undo_t* undo, /*!< in: undo log memory copy */
mtr_t* mtr); /*!< in: mtr */
/******************************************************************//**
=== modified file 'storage/innobase/trx/trx0trx.c'
--- a/storage/innobase/trx/trx0trx.c revid:inaam.rana@stripped
+++ b/storage/innobase/trx/trx0trx.c revid:inaam.rana@stripped
@@ -753,8 +753,7 @@ trx_commit_off_kernel(
mutex_enter(&(rseg->mutex));
if (trx->insert_undo != NULL) {
- trx_undo_set_state_at_finish(
- rseg, trx, trx->insert_undo, &mtr);
+ trx_undo_set_state_at_finish(trx->insert_undo, &mtr);
}
undo = trx->update_undo;
@@ -769,7 +768,7 @@ trx_commit_off_kernel(
transaction commit for this transaction. */
update_hdr_page = trx_undo_set_state_at_finish(
- rseg, trx, undo, &mtr);
+ undo, &mtr);
/* We have to do the cleanup for the update log while
holding the rseg mutex because update log headers
=== modified file 'storage/innobase/trx/trx0undo.c'
--- a/storage/innobase/trx/trx0undo.c revid:inaam.rana@stripped
+++ b/storage/innobase/trx/trx0undo.c revid:inaam.rana@stripped
@@ -1798,8 +1798,6 @@ UNIV_INTERN
page_t*
trx_undo_set_state_at_finish(
/*=========================*/
- trx_rseg_t* rseg, /*!< in: rollback segment memory object */
- trx_t* trx __attribute__((unused)), /*!< in: transaction */
trx_undo_t* undo, /*!< in: undo log memory copy */
mtr_t* mtr) /*!< in: mtr */
{
@@ -1808,10 +1806,8 @@ trx_undo_set_state_at_finish(
page_t* undo_page;
ulint state;
- ut_ad(trx);
ut_ad(undo);
ut_ad(mtr);
- ut_ad(mutex_own(&rseg->mutex));
if (undo->id >= TRX_RSEG_N_SLOTS) {
fprintf(stderr, "InnoDB: Error: undo->id is %lu\n",
Attachment: [text/bzr-bundle] bzr/inaam.rana@oracle.com-20101027014558-ax7egimco5r8zp42.bundle
| Thread |
|---|
| • bzr push into mysql-5.5-innodb branch (inaam.rana:3203 to 3204) | Inaam Rana | 27 Oct |