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

Hang in __wt_log_slot_join

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • WT2.6.0
    • WT2.6.1
    • None
    • None

    Description

      After a seemingly innocuous change (https://github.com/wiredtiger/wiredtiger/commit/57a103372f4ad5a763978d3a9aa0cc5e69ab635b), __wt_log_slot_join started hanging.

      On further investigation, it turns out the code was relying on a side effect of calling __wt_random that the compiler couldn't figure out what slot would be used at compile time. After the change, optimized builds were caching the value of slot->slot_state and never noticing when the slot became available.

      We need to force slot->slot_state to be read each iteration by marking the field volatile.

      Attachments

        Issue Links

          Activity

            People

              michael.cahill@mongodb.com Michael Cahill
              michael.cahill@mongodb.com Michael Cahill
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: