Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-50139

Skip level upgrade with --repair leaves repair in incomplete state

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • Hide
      diff --git a/jstests/multiVersion/skip_level_upgrade.js b/jstests/multiVersion/skip_level_upgrade.js
      index d0ea00222a..0e2f86f4c0 100644
      --- a/jstests/multiVersion/skip_level_upgrade.js
      +++ b/jstests/multiVersion/skip_level_upgrade.js
      @@ -34,7 +34,8 @@ const versions = [
           {binVersion: '3.2', testCollection: 'three_two'},
           {binVersion: '3.4', testCollection: 'three_four'},
           {binVersion: '3.6', testCollection: 'three_six'},
      -    {binVersion: '4.0', testCollection: 'four_zero'}
      +    {binVersion: '4.0', testCollection: 'four_zero'},
      +    {binVersion: '4.2', testCollection: 'four_two'}
       ];
      
      
      Show
      diff --git a/jstests/multiVersion/skip_level_upgrade.js b/jstests/multiVersion/skip_level_upgrade.js index d0ea00222a..0e2f86f4c0 100644 --- a/jstests/multiVersion/skip_level_upgrade.js +++ b/jstests/multiVersion/skip_level_upgrade.js @@ -34,7 +34,8 @@ const versions = [ {binVersion: '3.2', testCollection: 'three_two'}, {binVersion: '3.4', testCollection: 'three_four'}, {binVersion: '3.6', testCollection: 'three_six'}, - {binVersion: '4.0', testCollection: 'four_zero'} + {binVersion: '4.0', testCollection: 'four_zero'}, + {binVersion: '4.2', testCollection: 'four_two'} ];
    • Repl 2020-08-10

      After SERVER-48050, if a node starts with --repair, we load FCV document first before marking the repair as done (i.e. remove the _repair_imcomplete file). So if this is a skip level upgrade to the latest binary, the FCV load would fail (i.e. throw) with upgrade errors, leaving the _repair_imcomplete file in the data directory. This prevents the node from restarting with the original binary. And this would fail the skip_level_upgrade.js test (with the diff below). Should the expected behavior be nooping the --repair on skip level upgrade?

      Unfortunately, we are currently missing the test coverage in that test for skip level upgrade from 4.2. And this ticket should add the test coverage back after fixing the issue.

            Assignee:
            lingzhi.deng@mongodb.com Lingzhi Deng
            Reporter:
            lingzhi.deng@mongodb.com Lingzhi Deng
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: