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

LP:814514 - Aria double recovery failure Key tree is empty / Record at: 1:0 Can't find key for index: 1

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 5.3.9
    • Fix Version/s: 5.3.13, 5.2.15, 5.5
    • Component/s: None
    • Labels:

      Description

      Update by Elena on 2012-11-02:

      The described error can be seen on the attached after-recovery data using maria/5.3 revno 3589:

      • unzip the attached archive;
      • cd vardir1_66/master-data_recovery-aria
      • run aria_chk smf2/smf_log_floodcontrol.MAI

      The recovery by aria_read_log also fails on the attached pre-recovery data:

      • unzip the attached archive;
      • cd vardir1_66/master-data
      • run aria_read_log --apply --check

      It fails with

      Table './smf2/smf_members' can't be opened (Error: 138)
      Table './smf2/smf_members' creating as 'vardir1_66/master-data/smf2/smf_members.MAI'
      Failed to open new table or write to data file
      aria_read_log: Failed to open new table or write to data file
      Got error 138 when executing record redo_create_table
      aria_read_log: Got error 138 when executing record redo_create_table
      aria_read_log: Aria engine: Redo phase failed
      
      Recovery of tables with transaction logs FAILED
      aria_read_log: Aria recovery failed. Please run aria_chk -r on all Aria tables and delete all aria_log.######## files
      aria_read_log: FAILED
      

      However, the bug report contains no indication of how the initial "bad" data was created. I tried to run some RQG tests with AriaDoubleRecovery reporter, smf2.sql as init-file and smf2.yy as a grammar, but didn't get the described problem. So, unless there is something wrong with the recovery itself, the report can be closed as incomplete.

      ==================================
      Initial description:

      After a double recovery using aria_read_log, aria_chk reported the following:

      Aria double recovery failure "Record at: 1:0 Can't find key for index: 1"

      Checking Aria file: smf2/smf_log_floodcontrol.MAI
      Data records: 5 Deleted blocks: 0

      • check file-size
      • check key delete-chain
      • check index reference
      • check data record references index: 1
        aria_chk: error: Key tree 1 is empty
      • check records and index references
        aria_chk: error: Record at: 1:0 Can't find key for index: 1
        State updated
        Aria table 'smf2/smf_log_floodcontrol.MAI' is corrupted
        Fix it using switch "-r" or "-o"

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            philipstoev Philip Stoev added a comment -

            datadir before the first and after the second recovery
            LPexportBug814514_var-bug814514.zip

            Show
            philipstoev Philip Stoev added a comment - datadir before the first and after the second recovery LPexportBug814514_var-bug814514.zip
            Hide
            philipstoev Philip Stoev added a comment -

            Re: Aria double recovery failure Key tree is empty / Record at: 1:0 Can't find key for index: 1

            Show
            philipstoev Philip Stoev added a comment - Re: Aria double recovery failure Key tree is empty / Record at: 1:0 Can't find key for index: 1
            Hide
            ratzpo Rasmus Johansson added a comment -

            Launchpad bug id: 814514

            Show
            ratzpo Rasmus Johansson added a comment - Launchpad bug id: 814514

              People

              • Assignee:
                monty Michael Widenius
                Reporter:
                philipstoev Philip Stoev
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated: