[SERVER-4243] If there is a pending write due to an fsync lock, all reads are blocked Created: 10/Nov/11 Updated: 11/Jul/16 Resolved: 03/Nov/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Concurrency |
| Affects Version/s: | 2.0.1 |
| Fix Version/s: | 2.2.0 |
| Type: | Bug | Priority: | Minor - P4 |
| Reporter: | Daniel Pasette (Inactive) | Assignee: | Dwight Merriman |
| Resolution: | Done | Votes: | 3 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
64bit Ubuntu 11.04 + gcc 4.5.2 |
||
| Issue Links: |
|
||||||||||||||||||||||||
| Operating System: | Linux | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Description |
|
By locking the database and issuing a single write, all readers are starved. No read operations can go through. Because of this, a new shell will start but cannot be used – it must be doing some read-lock requiring operation. Ostensibly, this is due to the shell attempting to read but being unable to do so due to the waiting write starving any reader attempt. Issuing "mongo --eval 'db.fsyncUnlock()'" will unlock the database, allow writes through, and unfreeze the shell. |
| Comments |
| Comment by auto [ 07/Jun/12 ] |
|
Author: {u'login': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}Message: |
| Comment by auto [ 01/Jun/12 ] |
|
Author: {u'login': u'singhsiddharth', u'name': u'Siddharth Singh', u'email': u'singhsiddharth@gmail.com'}Message: Allow reading on secondaries with fsyncLock mode enabled. |
| Comment by auto [ 22/May/12 ] |
|
Author: {u'login': u'dwight', u'name': u'Dwight', u'email': u'dwight@10gen.com'}Message: |
| Comment by auto [ 18/Dec/11 ] |
|
Author: {u'login': u'astaple', u'name': u'Aaron', u'email': u'aaron@10gen.com'}Message: |
| Comment by auto [ 15/Nov/11 ] |
|
Author: {u'login': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: Revert "Stop fsync-lock from blocking out reads. This reverts commit 6c88cf0b68e8dbec9920125fcdae4bb114be2c59. |
| Comment by auto [ 15/Nov/11 ] |
|
Author: {u'login': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: Test that reads don't get blocked by writes when fsync-locked. |
| Comment by auto [ 15/Nov/11 ] |
|
Author: {u'login': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: Stop fsync-lock from blocking out reads. |