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

The inner one of nested AutoGetCollectionForReads cannot fall back to take PBWM if the outer one opts out of PBWM

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.1.2
    • 4.0.0
    • Storage
    • None
    • Fully Compatible
    • ALL
    • Storage NYC 2018-07-30

    Description

      For nested AutoGetCollectionForReads, if the outer one already opts out of the PBWM, the inner one could not take the PBWM if there are pending catalog changes, because the ShouldNotConflictWithSecondaryBatchApplicationBlock of the outer one still takes effect.

      The ticket is just for keeping track of this issue because there might be cases where we have nested AutoGetCollectionForReads and want the inner one to take the PBWM. Currently the inner one will try to take the PBWM (by unsetting ShouldNotConflictWithSecondaryBatchApplicationBlock) and think it succeeds. But the reads actually won't hold the PBWM.

      We could add an invariant or comments to make a note that ShouldNotConflictWithSecondaryBatchApplicationBlock might not work as expected if AutoGetCollectionForRead is nested.

      Attachments

        Activity

          People

            xiangyu.yao@mongodb.com Xiangyu Yao (Inactive)
            xiangyu.yao@mongodb.com Xiangyu Yao (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: