Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-23380

InnoDB reads a page from disk despite parsing MLOG_INIT_FILE_PAGE2 record

    XMLWordPrintable

    Details

      Description

      During recovery, InnoDB tries to fetch the page from disk even though
      it has MLOG_INIT redo log for the page. I think buf_page_read_low()
      should handle recovery scenario also.

      The following stack trace tries to fetch the page even it has
      MLOG_INIT_PAGE for it.

      #0  buf_page_init (buf_pool=buf_pool@entry=0x61c000000080, page_id=..., 
          zip_size=zip_size@entry=0, block=block@entry=0x6400007da1c0)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/buf/buf0buf.cc:5280
      #1  0x000055768a1b38f1 in buf_page_init_for_read (
          err=err@entry=0x7fed16d7f6c0, mode=mode@entry=132, page_id=..., 
          zip_size=zip_size@entry=0, unzip=unzip@entry=false)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/buf/buf0buf.cc:5422
      #2  0x000055768a238f15 in buf_read_page_low (err=err@entry=0x7fed16d7f6c0, 
          sync=sync@entry=false, type=type@entry=192, mode=mode@entry=132, 
          page_id=..., zip_size=zip_size@entry=0, unzip=<optimized out>, 
          ignore_missing_space=<optimized out>)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/buf/buf0rea.cc:152
      #3  0x000055768a23f482 in buf_read_page_background (page_id=..., 
          zip_size=zip_size@entry=0, sync=sync@entry=false)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/buf/buf0rea.cc:436
      #4  0x000055768a0fcda7 in btr_cur_prefetch_siblings (
          block=block@entry=0x6400007d9f70)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/btr/btr0cur.cc:3353
      #5  0x000055768a1355a3 in btr_cur_optimistic_delete_func (
          cursor=cursor@entry=0x7fed16d80260, flags=flags@entry=0, 
          mtr=mtr@entry=0x7fed16d805a0)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/btr/btr0cur.cc:5855
      #6  0x0000557689b9b393 in ibuf_delete_rec (space=67, page_no=67, 
          pcur=pcur@entry=0x7fed16d80260, 
          search_tuple=search_tuple@entry=0x616000060108, 
          mtr=mtr@entry=0x7fed16d805a0)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/ibuf/ibuf0ibuf.cc:4194
      #7  0x0000557689ba0915 in ibuf_merge_or_delete_for_page (
          block=block@entry=0x6400007d9880, page_id=..., zip_size=<optimized out>, 
          update_ibuf_bitmap=<optimized out>, update_ibuf_bitmap@entry=true)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/ibuf/ibuf0ibuf.cc:4636
      #8  0x000055768a1c0d05 in buf_page_io_complete (bpage=0x6400007d9880, 
          dblwr=dblwr@entry=true, evict=evict@entry=false)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/buf/buf0buf.cc:6194
      #9  0x000055768a354ba6 in fil_aio_wait (segment=segment@entry=3)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/fil/fil0fil.cc:4372
      #10 0x0000557689f54f94 in io_handler_thread (arg=<optimized out>)
          at /home/mleich/bb-10.4-MDEV-11799/storage/innobase/srv/srv0start.cc:324
      #11 0x00007fa71843f6db in start_thread (arg=0x7fed16d82700)
          at pthread_create.c:463
      ---Type <return> to continue, or q <return> to quit---
      #12 0x0000000069502a3f in clone ()
          at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      It leads to infinite loop of buf_page_create() and recv_recovery_create_page_low()
      and eventually leads to failure of the server startup.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thiru Thirunarayanan Balathandayuthapani
              Reporter:
              thiru Thirunarayanan Balathandayuthapani
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration