diff options
author | heikki@hundin.mysql.fi <> | 2005-03-15 08:33:47 +0200 |
---|---|---|
committer | heikki@hundin.mysql.fi <> | 2005-03-15 08:33:47 +0200 |
commit | 9967ee9d28eb05ec8822fa04877519c3d5105a91 (patch) | |
tree | 9d69fdd24aedba855244b2fb4846b705757771f7 | |
parent | 1e1a1b1f82b76a56301a6874c189377c491027c6 (diff) | |
download | mariadb-git-9967ee9d28eb05ec8822fa04877519c3d5105a91.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
-rw-r--r-- | innobase/buf/buf0flu.c | 10 |
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) |