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

Compressed page is read for non-compressed space during recovery

    XMLWordPrintable

Details

    Description

      During MDEV-27557 testing we found the following crash:

      #2  0x000055cbfd573981 in ib::fatal::~fatal (this=0x27936b9ce500, __in_chrg=<optimized out>)
          at ./storage/innobase/ut/ut0ut.cc:519                                       
      #3  0x000055cbfd6257b0 in fil_page_type_validate (space=0x612000024f40, page=0x7fed98338000 "")
          at ./storage/innobase/include/fil0fil.inl:131                               
      #4  0x000055cbfd626f5e in buf_page_decrypt_after_read (bpage=0x7fed97b0d1a0, node=...)
          at ./storage/innobase/buf/buf0buf.cc:472                                    
      #5  0x000055cbfd6386d3 in buf_page_t::read_complete (this=0x7fed97b0d1a0, node=...)
          at ./storage/innobase/buf/buf0buf.cc:3617                                   
      #6  0x000055cbfd7523ae in fil_aio_callback (request=...) at ./storage/innobase/fil/fil0fil.cc:2930
      

      buf_page_decrypt_after_read() does decompression only if node.space->is_compressed() && buf_page_is_compressed(dst_frame, flags) condition is true. For our case node.space->is_compressed() returns false as both FSP_FLAGS_FCRC32_GET_COMPRESSED_ALGO() and FSP_FLAGS_HAS_PAGE_COMPRESSION() are false. The space flags is 0x16. What means the space is not compressed. But the 15-th bit of FIL_PAGE_TYPE is set, what means the full_crc32 page is compressed, i.e. buf_page_is_compressed(dst_frame, flags) should return true.

      So we have compressed page on non-compressed space. The question is how is it possible?

      Attachments

        1. page-0.bin
          32 kB
        2. page.bin
          32 kB

        Issue Links

          Activity

            People

              vlad.lesin Vladislav Lesin
              vlad.lesin Vladislav Lesin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.