- 
    Type:Bug 
- 
    Resolution: Done
- 
    Priority:Major - P3 
- 
    None
- 
    Affects Version/s: 2.4.10, 2.6.0
- 
    Component/s: Storage
- 
    None
- 
        Windows
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
Background
T1: Generic Query Thread: Holds: Nothing, Acquires DBLock(R), Waits on T2 T2: REMAPPRIVATEVIEW Thread: Holds DBLock(W). Acquires: LockMongoFilesExclusive, Waits T3 T3: Flush: Holds LockMongoFilesShared, Waits: I/o
Problem: Remap on Windows & Solaris is not atomic, we need to guard access to memory while mmap is occuring.
Fix: Since there is only one writer, we only need to guard readers against remap. Add a dedicated lock for this, and do not use the LockMongoFilesxxx
The writer does not need the lock since he has sequential consistency, he either reads/writes view or remaps, not both at the same time.
- is depended on by
- 
                    SERVER-9868 heartbeats not responded to during mmap flushing on Windows -         
- Closed
 
-         
- 
                    SERVER-12880 Server pauses on requests every 60 seconds -         
- Closed
 
-         
- 
                    SERVER-13444 Long locked flush without inserts and updates -         
- Closed
 
-