[SERVER-21004] Implement wait objects that support operation interruption/expiration Created: 19/Oct/15 Updated: 25/Jan/17 Resolved: 14/Jul/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | 3.3.10 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Andy Schwerin | Assignee: | Andy Schwerin |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Sprint: | Sharding 16 (06/24/16), Sharding 17 (07/15/16) | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||||||
| Description |
|
Operations running in MongoDB often have soft time limits and all are intended to be interruptible at certain interruption points. Today, this is done in an ad hoc manner using bare std::condition_variable to wait for application events. Checking for interruption or the expiration of the maxTimeMs time limit is done on an ad hoc basis, and sometimes omitted. This task is to build new condition variable wait methods that take an OperationContext, and support operation killing and maxTime expiration. |
| Comments |
| Comment by Githook User [ 14/Jul/16 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: |
| Comment by Githook User [ 13/Jul/16 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: |
| Comment by Githook User [ 13/Jul/16 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: |