[SERVER-54206] Create a non-blocking API for the Fetcher class (or create an alternate class) Created: 02/Feb/21 Updated: 29/Oct/23 Resolved: 05/Aug/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code, Replication |
| Affects Version/s: | None |
| Fix Version/s: | 5.0.4, 5.1.0-rc0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Matthew Saltz (Inactive) | Assignee: | Jason Zhang |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Backport Requested: |
v5.0
|
||||||||||||||||
| Sprint: | Sharding 2021-07-12, Sharding 2021-07-26, Sharding 2021-08-09 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
The Fetcher class only has a blocking way of waiting for outstanding requests to complete. This is a problem in cases where we need to use the Fetcher from inside a thread pool. We should either create an alternative Fetcher class (e.g. AsyncFetcher) that provides a non-blocking version of the same functionality, or refactor the AsyncFetcher to allow it to provide both blocking and non-blocking APIs, and probably implement the blocking ones in terms of the non-blocking ones. |
| Comments |
| Comment by Vivian Ge (Inactive) [ 06/Oct/21 ] |
|
Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you! |
| Comment by Githook User [ 20/Sep/21 ] |
|
Author: {'name': 'Jason Zhang', 'email': 'jason.zhang@mongodb.com', 'username': 'jz1242'}Message: (cherry picked from commit 1f8ccdbff6715cbeb214d5b107f9598e5aeeb5e6) |
| Comment by Githook User [ 05/Aug/21 ] |
|
Author: {'name': 'Jason Zhang', 'email': 'jason.zhang@mongodb.com', 'username': 'jz1242'}Message: |