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

[BF-28463] IndexScanStageBase::prepareImpl() tassert(4938500) should be uassert

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • 7.1.0-rc0, 7.0.0-rc2
    • None
    • None
    • Fully Compatible
    • ALL
    • v7.0
    • 14

    Description

      In ix_scan.cpp, IndexScanStageBase::prepareImpl() contains a uassert and some tasserts. tassert(4938500) should actually be a uassert because it is really a valid user-facing failure if the index the plan uses happened to get dropped just before the query tried to use it. The other tasserts are checking things that are programming errors.

      The tassert causes the BF-28463 failure in secondary_reads_with_catalog_changes.js when the timing of this concurrent test is such that the index used by a query plan gets dropped just before the query tries to find that index during execution. Per mihai.andrei@mongodb.com, the Evergreen test harness considers every tassert to be a real test failure even if the test itself expects a failure with that error code (i.e. it's not okay to expect an error code from a programming bug, which is what a tassert denotes). This is not really a programming bug though - in this case the query should just fail gracefully.

      Attachments

        Activity

          People

            kevin.cherkauer@mongodb.com Kevin Cherkauer
            kevin.cherkauer@mongodb.com Kevin Cherkauer
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: