[SERVER-18841] Make awaitData cursors block rather than busy wait in the OP_GET_MORE path Created: 05/Jun/15 Updated: 05/Feb/16 Resolved: 16/Jul/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 3.1.6 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | David Storch | Assignee: | Qingyang Chen |
| Resolution: | Done | Votes: | 3 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||
| Sprint: | Quint Iteration 5, Quint Iteration 6 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||
| Description |
|
In the getMore command path, threads servicing awaitData cursors will always block rather than busy wait. For OP_GET_MORE, however, the thread will block if it is tailing the oplog but for any other capped collection it will busy wait. We can use the per-capped collection condition variable added under |
| Comments |
| Comment by Githook User [ 16/Jul/15 ] |
|
Author: {u'username': u'coollog', u'name': u'Qingyang Chen', u'email': u'qingyang.chen@10gen.com'}Message: |
| Comment by David Storch [ 10/Jun/15 ] |
|
This ticket still needs to be triaged and scheduled, but I expect that it should be scheduled for 3.2. This means that the fix will first be available in the 3.2.0 release. Note that This ticket will build on top of Please let me know if you have any further questions. Best, |
| Comment by Jose Battig [ 10/Jun/15 ] |
|
What's the target build for this ticket? |