-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: 2.4.10, 2.6.0
-
Component/s: Storage
-
None
-
Windows
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