[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:
Backports
Depends
is depended on by SERVER-67077 TransactionCoordinator uses both the ... Open
is depended on by SERVER-54208 Remove blocking call to Fetcher::join... Closed
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: SERVER-54206 SERVER-54208 Create a non-blocking API for the Fetcher class (or create an alternate class)

(cherry picked from commit 1f8ccdbff6715cbeb214d5b107f9598e5aeeb5e6)
Branch: v5.0
https://github.com/mongodb/mongo/commit/d8d2e781f11b8c304e15960d88d31592c2d1bd26

Comment by Githook User [ 05/Aug/21 ]

Author:

{'name': 'Jason Zhang', 'email': 'jason.zhang@mongodb.com', 'username': 'jz1242'}

Message: SERVER-54206 SERVER-54208 Create a non-blocking API for the Fetcher class (or create an alternate class)
Branch: master
https://github.com/mongodb/mongo/commit/1f8ccdbff6715cbeb214d5b107f9598e5aeeb5e6

Generated at Thu Feb 08 05:32:55 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.