Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-11414

Convert an initial set of ordered reads into WT_READ_ONCEs.

    • Type: Icon: Task Task
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Not Applicable
    • Labels:
    • 5
    • StorEng - 2023-08-08, ASeasonTooMany-2023-08-22, BermudaTriangle- 2023-09-05, TheMoon-StorEng - 2023-09-19, NachoCheese - 2023-10-03, Joker - StorEng - 2023-10-17, Asparagus-StorEng - 2023-10-31, c(3x10^8)-StorEng - 2023-11-14, 2023-11-28 - Anthill Tiger

      There are three WT_ORDERED_READs in generations.c that have the comment: "Ensure we only read the value once.". The investigation in WT-11280 highlighted that these WT_ORDERED_READs effectively serve no purpose as they aren't enforcing ordering and the generation arrays are all volatile already.

      The code wants READ_ONCE semantics and already has it but also chose to use ordered reads.

      There are other places in the code where obvious volatile casts exist to achieve READ_ONCE, we should also convert those.

            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            luke.pearson@mongodb.com Luke Pearson
            0 Vote for this issue
            3 Start watching this issue