summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2005-03-15 08:33:47 +0200
committerunknown <heikki@hundin.mysql.fi>2005-03-15 08:33:47 +0200
commitf56889321f9062f4b9af4664a9a8387a21534354 (patch)
tree9d69fdd24aedba855244b2fb4846b705757771f7 /innobase
parent7e517f7319c8a92106a219ae60f1b6f67132bacb (diff)
downloadmariadb-git-f56889321f9062f4b9af4664a9a8387a21534354.tar.gz
buf0flu.c:
Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user innobase/buf/buf0flu.c: Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user
Diffstat (limited to 'innobase')
-rw-r--r--innobase/buf/buf0flu.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/innobase/buf/buf0flu.c b/innobase/buf/buf0flu.c
index 964c396dd08..4df0e9962fb 100644
--- a/innobase/buf/buf0flu.c
+++ b/innobase/buf/buf0flu.c
@@ -115,7 +115,15 @@ buf_flush_ready_for_replace(
#ifdef UNIV_SYNC_DEBUG
ut_ad(mutex_own(&(buf_pool->mutex)));
#endif /* UNIV_SYNC_DEBUG */
- ut_a(block->state == BUF_BLOCK_FILE_PAGE);
+ if (block->state != BUF_BLOCK_FILE_PAGE) {
+ ut_print_timestamp(stderr);
+ fprintf(stderr,
+" InnoDB: Error: buffer block state %lu in the LRU list!\n",
+ (ulong)block->state);
+ ut_print_buf(stderr, (byte*)block, sizeof(buf_block_t));
+
+ return(FALSE);
+ }
if ((ut_dulint_cmp(block->oldest_modification, ut_dulint_zero) > 0)
|| (block->buf_fix_count != 0)