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

btreecursor may do a lot of scanning in constructor or advance()

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 1.9.2
    • Affects Version/s: None
    • Component/s: Index Maintenance
    • None
    • ALL

      Added an iteration cutoff in BtreeCursor::skipAndCheck(), see below:

              /**
               * Attempt to locate the next btree key matching _bounds.  This may mean advancing to the
               * next successive key in the btree, or skipping (potentially multiple times in a single
               * function call) to a new position in the btree.  If an internal iteration cutoff is
               * reached before a matching key is found, then the search for a matching key will be
               * aborted.  This may leave the cursor pointing at a key that is not within bounds
               * (_bounds->matchesKey( currKey() ) may be false).  In that case,
               * _currentPossiblyOutOfBounds will be set to true.
               */
              void skipAndCheck();
      

            Assignee:
            aaron Aaron Staple
            Reporter:
            aaron Aaron Staple
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: