[SERVER-3553] DBDirectClient's call() and say() may call commitIfNeeded() without a mutex Created: 09/Aug/11 Updated: 12/Jul/16 Resolved: 09/Aug/11 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.9.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Aaron Staple | Assignee: | Mathias Stearn |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Participants: |
| Description |
|
The comments above DBDirectClient's class definition state that the caller does not need to lock, however it looks like call() and say() call getDur().commitIfNeeded() without locking and that this function requires a lock. This seems to have caused the following failure: |
| Comments |
| Comment by auto [ 09/Aug/11 ] |
|
Author: {u'login': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}Message: Don't do commitIfNeeded when not writeLocked |
| Comment by Mathias Stearn [ 09/Aug/11 ] |
|
This is an easy and small fix. I'll do it tomorrow. |