[SERVER-19438] honor timeouts passed to startCommand in NetworkInterfaceASIO Created: 16/Jul/15 Updated: 07/Oct/15 Resolved: 17/Sep/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 3.1.9 |
| Type: | Task | Priority: | Critical - P2 |
| Reporter: | Adam Midvidy | Assignee: | Samantha Ritter (Inactive) |
| 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: | Platform 8 08/28/15, Platform 9 (09/18/15) | ||||||||
| Participants: | |||||||||
| Description |
|
asio provides high_resolution_timer, steady_timer, and system_timer that each use the corresponding std::chrono clock. We should pick one (probably steady_clock) and then add timeouts to all asynchronous operations. |
| Comments |
| Comment by Githook User [ 18/Sep/15 ] |
|
Author: {u'username': u'amidvidy', u'name': u'Adam Midvidy', u'email': u'amidvidy@gmail.com'}Message: |
| Comment by Githook User [ 17/Sep/15 ] |
|
Author: {u'username': u'amidvidy', u'name': u'Adam Midvidy', u'email': u'amidvidy@gmail.com'}Message: |
| Comment by Githook User [ 17/Sep/15 ] |
|
Author: {u'username': u'samantharitter', u'name': u'Samantha Ritter', u'email': u'samantha.ritter@10gen.com'}Message: |
| Comment by Githook User [ 17/Sep/15 ] |
|
Author: {u'username': u'samantharitter', u'name': u'Samantha Ritter', u'email': u'samantha.ritter@10gen.com'}Message: |
| Comment by Andy Schwerin [ 16/Jul/15 ] |
|
RemoteCommandRequest has deadline information in it, already. |
| Comment by Adam Midvidy [ 16/Jul/15 ] |
|
kaloian.manassiev and schwerin, I think we are going to want to change the signature of startCommand to take a deadline instead of specifying a global timeout for the connection pool as is currently done. We can also delay this work until NetworkInterfaceASIO is the default so we don't have to implement it in ThreadPoolTaskExecutor as well |
| Comment by Charlie Page [ 16/Jul/15 ] |
|
If we are going to do this we need it to be a setting. Otherwise, we are assuming all networks are like ours. That usually isn't true in practice. |