List:Maria Storage Engine« Previous MessageNext Message »
From:Michael Widenius Date:November 7 2008 1:19pm
Subject:re: bzr commit into MySQL/Maria:mysql-maria branch (sanja:2691) Bug#40308
View as plain text  
Hi!

>>>>> "sanja" == sanja  <sanja@stripped> writes:

sanja> #At bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-maria/
sanja>  2691 sanja@stripped	2008-10-24
sanja>       Added correct reaction on find operation status during writing the page.
> (BUG#40308)
sanja> modified:
sanja>   storage/maria/ma_pagecache.c

sanja> per-file messages:
sanja>   storage/maria/ma_pagecache.c
sanja>     Added correct reaction on find operation status during writing the page.
sanja> === modified file 'storage/maria/ma_pagecache.c'

<cut>

sanja> @@ -3859,10 +3861,7 @@ restart:
sanja>      reg_request= ((pin == PAGECACHE_PIN_LEFT_UNPINNED) ||
sanja>                    (pin == PAGECACHE_PIN));
sanja>      block= find_block(pagecache, file, pageno, level,
sanja> -                      (write_mode != PAGECACHE_WRITE_DONE &&
sanja> -                       lock != PAGECACHE_LOCK_LEFT_WRITELOCKED &&
sanja> -                       lock != PAGECACHE_LOCK_WRITE_UNLOCK &&
sanja> -                       lock != PAGECACHE_LOCK_WRITE_TO_READ),
sanja> +                      write_mode != PAGECACHE_WRITE_DONE,
sanja>                        reg_request, &page_st);

We discussed this change on IRC.

sanja>      if (!block)
sanja>      {
sanja> @@ -3873,6 +3872,22 @@ restart:
sanja>        /* Write to the disk key cache is in resize at the moment*/
sanja>        goto no_key_cache;
sanja>      }
sanja> +    DBUG_PRINT("info", ("page status: %d", page_st));
sanja> +    if (!(block->status & PCBLOCK_ERROR) &&
sanja> +        ((page_st == PAGE_TO_BE_READ &&
sanja> +          (offset || size < pagecache->block_size)) ||
sanja> +         (page_st == PAGE_WAIT_TO_BE_READ)))
sanja> +    {
sanja> +      DBUG_PRINT("info", ("read block 0x%lx", (ulong)block));
sanja> +      /* The requested page is to be read into the block buffer */
sanja> +      read_block(pagecache, block,
sanja> +                 (my_bool)(page_st == PAGE_TO_BE_READ));
sanja> +      DBUG_PRINT("info", ("read is done"));

Remove the DBUG_PRINT's and instead add the printing of block number
to read_block().

Ok to push after the above small change

Regards,
Monty
Thread
bzr commit into MySQL/Maria:mysql-maria branch (sanja:2691) Bug#40308sanja24 Oct
  • re: bzr commit into MySQL/Maria:mysql-maria branch (sanja:2691) Bug#40308Michael Widenius7 Nov