Commits on Sep 19, 2018
  1. SERVER-36444 Validate support for $** multikey metadata path index keys

    jameswahlin committed Sep 14, 2018
    Additionally, don't fail validation on encountering multiple index
    entries for a single RecordId for non-multikey $** indexes.
  2. SERVER-35154 Propagate JS exceptions through ScopedThread#join().

    visemet committed Sep 19, 2018
    This makes it so that if the ScopedThread exited due to an uncaught
    JavaScript exception, then calling .join() or .returnData() on it throws
    a JavaScript exception with the error message and stacktrace intact.
  3. SERVER-37197 Fix validateCollectionsThread() to check validate result.

    visemet committed Sep 19, 2018
    It would otherwise silently ignore cases where collection validation had
  4. SERVER-36444 disable validation in allPaths tests

    Ian Boros authored and visemet committed Sep 19, 2018
Commits on Sep 18, 2018
  1. SERVER-36913 Add functionality to LockManager for repl state transiti…

    stbrody committed Aug 22, 2018
    …ons with prepared transactions.
  2. SERVER-35679 Fix unused named exception

    hanumantmk committed Sep 18, 2018
    in operation_context_test
  3. Import wiredtiger: 7db12ec1b5b1843364ae28248b0680b816aab651 from bran…

    lukech committed Sep 18, 2018
    …ch mongodb-4.2
    ref: 45fd19bcb1..7db12ec1b5
    for: 4.1.4
    WT-3736       Add statistics to measure contention on lookaside cursor
    WT-4185       Don't remove all lookaside entries when reading a page
    WT-4225       Automate a backup test that simulates volume snapshot via dd
    WT-4308       Insert split during sync should not free blocks
    WT-4321       Disable the random direct I/O test
    WT-4325       Add a WiredTiger-local version of the qsort(3) call
Commits on Sep 17, 2018
  1. SERVER-35679 General Interruption Facility

    hanumantmk committed Jul 5, 2018
    Add support for a generalized interruptibility facility in the server.
    This offers a generalized interruptibility facility, trialed in
    Future<T> and ProducerConsumerQueue<T>.
    It offers 3 major concepts:
    Notifyable:  A type which can notified off-thread, causing a wake up
    from some kind of blocking wait
    Waitable: A type which is Notifyable, and also can perform work while in
    a ready-to-receive notification state.  static methods offer support for
    running underneath condition_variable::wait's.  The chief implementer is
    the transport layer baton type
    Interruptible: A type which can wait on condition variables, and offers:
      - deadlines.  This means the type integrates some sort of clock source
      - interruptibility.  This means the type offers a way of noticing
        that it should no longer run via status or exception
    Additionally, Interruptible's offer special scoped guards which
      - Exemption from interruption in a region defined by the lifetime
        of a guard object
      - Subsidiary deadlines which can trigger recursively, offering
        specialized timeout and status return support.
    The series of virtual types allows us to slice the interface between
    opCtx and future such that opctx can use future and future can use
    opctx.  Additionally, cutting out more functionality allows us to flow a
    noop interruptibility type which unifies our waiting behind a common
  2. SERVER-37126 Always _runSafely in implscope

    hanumantmk committed Sep 13, 2018
    Extends _runSafely use to all public methods on implscope