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

update_yield1 / atomic updates failure

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.9.2
    • Component/s: None
    • Labels:
      None
    • Operating System:
      ALL

      Description

      It looks like this code in update.cpp does not respect the atomic option:

      // *****************
      if ( cc.get() == 0 )

      { shared_ptr< Cursor > cPtr = c; cc.reset( new ClientCursor( QueryOption_NoCursorTimeout , cPtr , ns ) ); }

      if ( ! cc->yieldSometimes( ClientCursor::WillNeed ) )

      { cc.release(); break; }

      if ( !c->ok() )

      { break; }

      // *****************

      And I'm seeing update_yield1 fail on my machine. (This test only runs weekly in bb.)

        Attachments

          Activity

            People

            Assignee:
            eliot Eliot Horowitz (Inactive)
            Reporter:
            aaron Aaron Staple
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: