- 
    Type:
Task
 - 
    Resolution: Done
 - 
    Priority:
Major - P3
 - 
    None
 - 
    Affects Version/s: None
 - 
    Component/s: Concurrency
 - 
    None
 
- 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
A unified scheduling module would consolidate logic around what operations get dispatched in parallel with other operations (fsync+lock and reads, e.g.), could ultimately manage resources (limit iops per individual user op, or disk space dedicated to external sorts at once), and more.
TODO: Fill out the description w/ a fuller design proposal.
- has to be done before
 - 
                    
SERVER-1423 reads often aren't possible while in fsync and lock mode
-         
 - Closed
 
 -         
 
- is related to
 - 
                    
SERVER-3531 map reduce doesn't seem to yield unless it finds matches
-         
 - Closed
 
 -         
 - 
                    
SERVER-5724 dbtemprelease's destructor can fail to restore state and assert on failure
-         
 - Closed
 
 -         
 - 
                    
SERVER-8161 locks leak
-         
 - Closed
 
 -         
 - 
                    
SERVER-8378 indexbg1.js failures
-         
 - Closed
 
 -         
 - 
                    
SERVER-9147 touch command does not yield
-         
 - Closed
 
 -         
 - 
                    
SERVER-3931 Shell hangs on tab complete if db is fsync&locked
-         
 - Closed
 
 -         
 - 
                    
SERVER-8342 Delete old query_yield tests
-         
 - Closed
 
 -         
 - 
                    
SERVER-1256 low priority write flag
-         
 - Closed
 
 -         
 - 
                    
SERVER-1423 reads often aren't possible while in fsync and lock mode
-         
 - Closed
 
 -         
 - 
                    
SERVER-3642 make sure yieldSometimes RecordNeeds specs are appropriate
-         
 - Closed
 
 -         
 - 
                    
SERVER-6183 count may not yield before paging in initial candidate documents
-         
 - Closed
 
 -         
 - 
                    
SERVER-8654 yielding too much?
-         
 - Closed
 
 -         
 - 
                    
SERVER-3801 Mapreduce should yield periodically when writing
-         
 - Closed
 
 -         
 - 
                    
SERVER-8307 Use db-level lock when MapReduce input and output use a single DB
-         
 - Closed
 
 -         
 - 
                    
SERVER-3456 Running fsync+lock on config server during backup results in blocked inserts
-         
 - Closed
 
 -         
 
- related to
 - 
                    
SERVER-11670 attempt to create a large collection in local db causes continuous asserts
-         
 - Closed
 
 -