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

MTR leaves intermediate files after applying rdiffs to result files

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Not a Bug
    • 10.0, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10
    • N/A
    • Tests
    • None

    Description

      Some time ago we discussed how overlay- and other rdiff-based-problems can seemingly disappear while debugging them, and I promised to provide an example. I don't insist that it has to be fixed, but want to get it off my TODO list, and now there is a good simple real-life example in 10.0 tree.

      When MTR runs a test A with a combination B which has A,B.rdiff, it applies the rdiff to a result file and creates A,B.result~ file.

      Being smart, MTR not only preserves the file after test execution, but it also intentionally does not re-generate it unless the base result file or rdiff file have changed.

      It is all fine until we start debugging problems, e.g. failing hunks. Since the file does not get re-created, the 'failing hunk' problem does not re-appear when we are re-running tests, which makes us miss things (that was the reason why we had the discussion).

      Now in 10.0 (as of 670b85804 and possibly long before) there is an rdiff which fails to apply:

      $ perl ./mtr funcs_1.is_engines_innodb,innodb_plugin
      ...
      ==============================================================================
       
      TEST                                      RESULT   TIME (ms) or COMMENT
      --------------------------------------------------------------------------
       
      worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
      1 out of 1 hunk FAILED
      funcs_1.is_engines_innodb 'innodb_plugin' [ pass ]      5
      --------------------------------------------------------------------------
      The servers were restarted 0 times
      Spent 0.005 of 8 seconds executing testcases
       
      Completed: All 1 tests were successful.
      

      But if you re-run the same test again, no error anymore:

      $ perl ./mtr funcs_1.is_engines_innodb,innodb_plugin
      ...
      ==============================================================================
       
      TEST                                      RESULT   TIME (ms) or COMMENT
      --------------------------------------------------------------------------
       
      worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
      funcs_1.is_engines_innodb 'innodb_plugin' [ pass ]      2
      --------------------------------------------------------------------------
      The servers were restarted 0 times
      Spent 0.002 of 8 seconds executing testcases
       
      Completed: All 1 tests were successful.
      

      Attachments

        Issue Links

          Activity

            People

              serg Sergei Golubchik
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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